mysql:更新或创建提交日期比db更新的条目

时间:2012-12-14 21:02:06

标签: mysql

如标题所示,我想要插入一个新值,或者如果其主键已经存在,则更新该行,但仅当数据库值早于给定的新值时才会更新。

查询是这样的,但是where语句

有问题
INSERT INTO myTable(field1_key, field2, datefield) VALUES('val1', 'val2', '2012-12-12 12:12:12')   
ON DUPLICATE KEY UPDATE
field2='val2'
datefield='2012-12-12 12:12:12'
WHERE datefield <'2012-12-12 12:12:12'

1 个答案:

答案 0 :(得分:3)

如果它更新,只需&#34;替换&#34;它具有相同的值:

INSERT INTO myTable(field1, field2, datefield) VALUES ('val1', 'val2', '2012:12:12 12:12')
ON DUPLICATE KEY UPDATE
datefield=IF(datefield < VALUES(datefield), VALUES(datefield), datefield),
field2=IF(datefield < VALUES(datefield), VALUES(field2), field2)