我有一个复杂的查询,其中包含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值的行。 –