如果表中插入重复值,则忽略MySQL INSERT IGNORE语句并显示错误

让我们首先创建一个表-

mysql> create table DemoTable

(

   FirstName varchar(100)

);

如官方MySQL文档中 ,“如果没有IGNORE,重复表中现有UNIQUE索引或PRIMARY KEY值的行将导致重复键错误,并且该语句将中止”。

因此,让我们现在添加一个唯一索引-

mysql> alter table DemoTable add unique index(FirstName);

Records: 0 Duplicates: 0 Warnings: 0

使用insert命令在表中插入一些记录。如您所见,由于我们尚未使用INSERT IGNORE,因此在插入重复记录时会看到错误-

mysql> insert into DemoTable values('Chris');

mysql> insert into DemoTable values('Robert');

mysql> insert into DemoTable values('David');

mysql> insert into DemoTable values('Robert');

ERROR 1062 (23000): Duplicate entry 'Robert' for key 'FirstName'

mysql> insert into DemoTable values('Chris');

ERROR 1062 (23000): Duplicate entry 'Chris' for key 'FirstName'

mysql> insert into DemoTable values('Sam');

使用select语句显示表中的所有记录-

mysql> select *from DemoTable;

这将产生以下输出-

+-----------+

| FirstName |

+-----------+

| Chris     |

| David     |

| Robert    |

| Sam       |

+-----------+

4 rows in set (0.00 sec)

以上是 如果表中插入重复值,则忽略MySQL INSERT IGNORE语句并显示错误 的全部内容, 来源链接: utcz.com/z/341056.html

回到顶部