我通过套接字使用 mysql,并且要更新 4000 条记录,因此我需要批量 INSERT
/UPDATE
它们以减少网络延迟。问题是我有一个列 datetime_inserted
,我想在第一次插入记录时将其设置为 NOW()
,但当它已经存在时永远不会被替换,因此 REPLACE
不是一个选项,我想更新记录,因此 IGNORE
不起作用。
我不太明白整个ON DUPLICATE KEY UPDATE
,但我希望更新每一列(40 左右),除了 datetime_inserted
我该怎么做?
最佳答案
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
关于mysql - ON DUPLICATE KEY UPDATE 每列,除了,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11712404/