ON DUPLICATE KEY UPDATE每列除外

时间:2012-07-29 19:47:44

标签: mysql sql duplicates

我通过套接字使用mysql,我正在更新4000条记录,因此我需要批量INSERT / UPDATE它们以减少网络延迟。问题是我有一个列datetime_inserted,我希望在第一次插入记录时将其设置为NOW(),但在它已经存在时永远不会被替换,因此REPLACE不是一个选项我想更新记录,因此IGNORE将不起作用。

我真的不了解整个ON DUPLICATE KEY UPDATE,但我希望每列(40左右)更新datetime_inserted

的EXCEPT

我该怎么做?

1 个答案:

答案 0 :(得分:3)

INSERT INTO the_table (col1,col2,...,datetime_inserted) VALUES(value1,value2,...,NOW())
ON DUPLICATE KEY UPDATE SET col1=VALUES(col1), col2=VALUES(col2), ... #skip the datetime_inserted for the updates