我正在将250种产品从“ tmp”表更新为“产品”表
INSERT INTO products (EAN, brand, productname)
SELECT column03, column07, column04 FROM tmp
WHERE column03 NOT IN (SELECT EAN FROM products)
ON DUPLICATE KEY UPDATE productname = 'test'
这工作得很好,但是人们希望当再次运行查询时,应该更新“产品”中的productname以测试所有行。但是奇怪的是,似乎只有一行被更新。
EAN是唯一列,在两次查询之间,'tmp'和'products'均未更改。因此product.EAN varchar(200)中的值与tmp.column03 varchar(200)中的值完全相同。但是,似乎它仍未被识别为重复密钥。