UPDATE AggregatedData SET datenum="734152.979166667",
Timestamp="2010-01-14 23:30:00.000" WHERE datenum="734152.979166667";
Run Code Online (Sandbox Code Playgroud)
如果datenum存在,它可以工作,但如果不存在,我想将此数据作为新行插入datenum.
UPDATE
datenum是唯一的,但这不是主键
Ike*_*ker 133
你应该使用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)
Run Code Online (Sandbox Code Playgroud)
Jai*_*Jai 13
试试这个:
如果指定
ON DUPLICATE KEY UPDATE,则插入一行将导致旧行的UNIQUE index orPRIMARY KEY, MySQL performs an [UPDATE`](http://dev.mysql.com/doc/refman/5.7/en/update.html)中出现重复值. ..该
ON DUPLICATE KEY UPDATE子句可以包含多个列分配,以逗号分隔.对于
ON DUPLICATE KEY UPDATE,如果将行作为新行插入,则每行的受影响行值为1;如果更新现有行,则为2,如果现有行设置为其当前值,则为0.如果在连接到mysqld时指定了CLIENT_FOUND_ROWS标志,那么如果将现有行设置为其当前值,则受影响的行值为1(不为0)...mysql_real_connect()
| 归档时间: |
|
| 查看次数: |
141349 次 |
| 最近记录: |