ON DUPLICATEKEY UPDATE。但是,我只需要在特定条件下更新行。因为我知道您不能在WHERE中使用ON DUPLICATEKEY UPDATE,所以我使用的是IF。但我需要根据完全相同的条件更新两列。问题是条件很长。它是column1 IN (大规模连接选择)。两次也不太对。我会创建一个临时表,但是由于这只需要在UPDATE部分而不是INSERT部分中使用,所以在某些情况下会产生不必要的工作。
我
(acol, bcol, ccol) VALUES (1, 1, 12);INSERT INTO a (acol, bcol, ccol) VALUES (1, 1, 12) 当UNIQUE KEY在aco, bcol上运行时,但是我一直收到这个错误:
SQL Error (1064): You have an errorserver version for the right syntax to use near 'INSERT I