2012-02-28 82 views
1

我有6個字段,其中主要ID爲auto_increment。我想插入一個新行,如果DATE和FROM 不匹配。我正在考慮REPLACE INTOON DUPLICATE KEY UPDATE,但從我所知道的我必須有一個作爲我的主要?我不在乎它是如何完成的,我只是需要一些有用的查詢幫助。只有在兩個字段不匹配的情況下MySQL INSERT纔有效

ID 

DATE   

STORE    

TOTAL   

NPS  

FROM 
+0

聲音像DATE和FROM是一個輔助鍵。在這種情況下,您可以使用服務器端代碼處理此問題。輔助鍵將確保所有FROM和DATE組合都是唯一的。 – Zoidberg 2012-02-28 02:43:36

回答

4

您需要的是由DATE和FROM字段組成的唯一索引。

ALTER TABLE table ADD UNIQUE INDEX(DATE, FROM);

然後你可以使用這種類型的查詢:

INSERT IGNORE INTO table (columns) VALUES (...)

的忽略語句將跳過,否則將導致重複鍵錯誤的任何INSERT。

相關問題