我正在尝试更新一行或插入一个新的行(如果存在)。如果有更新,我只想用当前时间戳更新"更新"列,否则"添加"answers"更新"得到相同的值(时间戳)
//1385982893 is from PHP with time() cause it's needed elsewhere too
INSERT INTO table (id, code, added, updated) VALUES (236, 'abcdefghi', 1385982893, 1385982893)
ON DUPLICATE KEY UPDATE
id = values(id), code = values(code), added = values(added),updated = 1385982893
ID是主键。代码是唯一的
问题是"添加的"总是用当前的时间戳更新(如更新的)
您只需要删除added = values(added)
,它就不会更新:
INSERT INTO table (id, code, added, updated) VALUES (236, 'abcdefghi', 1385982893, 1385982893)
ON DUPLICATE KEY UPDATE
id = values(id), code = values(code),updated = 1385982893
然后不要在更新中设置添加
INSERT INTO table (id, code, added, updated) VALUES (236, 'abcdefghi', 1385982893, 1385982893)
ON DUPLICATE KEY UPDATE
id = values(id), code = values(code), updated = 1385982893