MySql表插入,如果不存在,否则更新

UPDATE AggregatedData SET datenum="734152.979166667", 

Timestamp="2010-01-14 23:30:00.000" WHERE datenum="734152.979166667";

如果datenum存在,它就可以工作,但是如果不存在,我想将此数据作为新行插入datenum。


更新


datenum是唯一的,但这不是主键


汪汪一只猫
浏览 753回答 3
3回答

江户川乱折腾

Jai是正确的,您应该使用INSERT ... ON DUPLICATE KEY UPDATE。请注意,由于它是唯一键,因此不需要在update子句中包含datenum,因此它不应更改。您确实需要包括表中的所有其他列。您可以使用该VALUES()函数来确保在更新其他列时使用正确的值。这是使用适用INSERT ... ON DUPLICATE KEY UPDATE于MySQL 的正确语法重写的更新:INSERT INTO AggregatedData (datenum,Timestamp)VALUES ("734152.979166667","2010-01-14 23:30:00.000")ON DUPLICATE KEY UPDATE   Timestamp=VALUES(Timestamp)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

MySQL