admin

MYSQL在一行上忽略插入

sql

我正在尝试使用insert ignore语句在数据库中放置一个名称。我不想创建重复项,但是,我使用的insert ignore语句会不断插入!

该语句是:

INSERT IGNORE INTO firstname(name) VALUES ('Tommy')

我的数据库显示如下:

id  |  name
-------------
1      Tommy
2      Tommy
3      Tommy

为帮助我的人们提供的一些信息。我的ID是我的主键,它是自动递增的。

我的猜测是,由于新ID是自动创建的,因此会认为它是新结果!我不确定如何使用更大的SQL查询来解决此问题,请检查名称Tommy首先是否存在

谢谢


阅读 174

收藏
2021-07-01

共1个答案

admin

这是因为该列namefirstnamenot unique。尝试unique使用此DDL语句添加约束,

ALTER TABLE firstname ADD UNIQUE (name);

然后尝试是否仍然添加重复的名称。希望它现在可以工作:)

2021-07-01