我试图使用insert ignore语句将名称放入数据库。我不想创建重复项,但是,我使用的insert ignore语句一直在插入!
声明如下:
INSERT IGNORE INTO firstname(name) VALUES ('Tommy')
我的数据库显示:
id | name
-------------
1 Tommy
2 Tommy
3 Tommy
一些帮助我的人的信息。我的id是我的主键,它是自动递增的。
我的猜测是,因为新的id是自动创建的,它认为这是一个新的结果!我不知道如何用一个更大的SQL查询来解决这个问题,如果汤米的名字先存在,
谢谢
最佳答案
这是因为name
表中的firstname
列是not unique
。尝试使用此DDL语句添加unique
约束,
ALTER TABLE firstname ADD UNIQUE (name);
如果仍然添加重复的名称,请尝试。希望现在起作用:)
关于mysql - MYSQL在一行上忽略插入,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11913397/