0

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

我不太了解整体ON DUPLICATE KEY UPDATE,但我希望每一列(40 左右)都更新,除了datetime_inserted

我怎样才能做到这一点?

4

1 回答 1

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
于 2012-07-29T19:53:07.323 回答