Ik執行一個在de table中插入一些值的查詢,如果ID,Year,rownum(唯一索引)的組合存在,我做一個常規的ON DUPLICATE KEY UPDATE等等該行已更新。查詢看起來像這樣:MYSQL ON DUPLICATE KEY UPDATE和IGNORE在一個查詢中
INSERT INTO data_advertenties_prijzen (`ID`, `year`, `rownum`, `status_prijs`,
`datum_dag`, `timestamp_dag`)
VALUES (100,2014,1,1,'2014-01-01',1388534400),
(100,2014,2,1,'2014-07-16',1405468800),
(100,2014,3,1,'2014-07-26',1406332800)
ON DUPLICATE KEY UPDATE
status_prijs = VALUES(status_prijs),
datum_dag = VALUES(datum_dag),
timestamp_dag = VALUES(timestamp_dag)
那裏沒有困難,但...。
我也想在同一個查詢中爲1個值做ON DUPLICATE IGNORE。我也希望在2015年插入一行。例如:(100,2015,1,1,'2015-01-01',1405468800)... 如果已經有一行ID = 100,Year = 2015和rownum = 1,該行的插入必須被忽略。
如何做到這一點?
重複的作品通過檢查主鍵和唯一鍵。因此,您需要將「年份」和「rownum」這兩列設置爲唯一鍵值才能生效。 – 2014-10-01 18:46:23
詹姆斯我做的和第一個查詢工作正常,但我也想插入與2015年(年)的行,但是當已經有一排2015年比只有2015年行不能插入... – 2014-10-01 19:00:17
是否有任何原因不要將年份列設置爲唯一? – 2014-10-01 19:04:12