2012-02-28 84 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。

相关问题