【发布时间】:2015-03-26 16:23:33
【问题描述】:
我有一个表,比如说 table1,它有 3 列:id、number 和 name。 id 是 auto_incremented。
我想实现一个向表中插入条目的sql语句,但是如果该行已经存在,则忽略它。
然而,
每次我跑步:
INSERT INTO table1( number, name)
VALUES(num, name)
ON DUPLICATE KEY
UPDATE number = VALUES(number),
name = VALUES(name)
它似乎会忽略具有匹配数字和名称值的行,并且无论如何都会将条目附加到表的末尾。
我能做些什么来防止这种情况发生吗?我觉得这与拥有 auto_incrementing 主键有关吗? 谢谢
【问题讨论】:
-
你从来没有
DUPLICATE KEY,因为你从来没有尝试插入任何id,所以它总是新的和独特的:-)
标签: mysql sql-server insert duplicates