我有一個複雜的查詢,其中包含ON DUPLICATE KEY Update。我只想插入最後一個值,如果沒有「timestamp_dag」= 1420070400的行,如果有一行有這種情況我不想做任何事情。MySQL - 條件插入行中的一個查詢與ON DUPLICATE KEY UPDATE
INSERT INTO data_prijzen_advertentie (
`ID_advertentie`,`jaar`,`rijnr`,`status_prijs`,`datum_dag`,`timestamp_dag`,
`prijs_maand`,`prijs_week`,`prijs_midweek`,`prijs_langweekend`,`prijs_weekend`,
`prijs_dag`,`prijs_ochtend`,`prijs_middag`
)
VALUES
(100,2014,1,1,'12-05-2014',1399852800,0,100,0,75,0,0,0,0),
(100,2014,2,1,'23-05-2014',1400803200,0,75,0,101,0,0,0,0),
(100,2014,3,1,'30-05-2014',1401408000,0,100,0,75,0,0,0,0),
(100,2014,4,1,'01-01-2015',1420070400,0,0,0,0,0,0,0,0)
ON DUPLICATE KEY UPDATE
status_prijs = VALUES(status_prijs), datum_dag = VALUES(datum_dag),
timestamp_dag = VALUES(timestamp_dag), prijs_maand = VALUES(prijs_maand),
prijs_week = VALUES(prijs_week), prijs_midweek = VALUES(prijs_midweek),
prijs_langweekend = VALUES(prijs_langweekend), prijs_weekend = VALUES(prijs_weekend),
prijs_dag = VALUES(prijs_dag), prijs_ochtend = VALUES(prijs_ochtend),
prijs_middag = VALUES(prijs_middag);
如果添加行的其餘部分的唯一索引更新(在重複鍵)也不能工作了.... –
所以只是爲了確認,你真正想要的'對重複密鑰更新...'踢的部分?從你的問題看起來好像是否有重複,那麼你不想用你試圖插入的值來更新它。如果它不存在,你只想插入? –
亞歷克斯,我確實想要使用更新exept爲具有1420070400值的行。 –