0

私はソケットを介して mysql を使用しており、4000 レコードを更新しているため、ネットワークの遅延を減らすためにそれらを大量にINSERT処理する必要があります。問題は、レコードが最初に挿入されたときに設定したいUPDATE列があることですが、それが既に存在する場合は決して置き換えられないため、オプションではなく、レコードを更新したいので機能しません。datetime_insertedNOW()REPLACEIGNORE

全体をよく理解していませんが、ON DUPLICATE KEY UPDATEすべての列 (40 程度) を EXCEPT を更新する必要があります。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 に答える