如何防止 MySQL 双重插入(重复的条目)?
要防止重复输入,请添加约束 UNIQUE。让我们首先创建一个表 −
mysql> create table DemoTable ( Id int, Name varchar(100) ); Query OK, 0 rows affected (0.79 sec)
这是使用 UNIQUE 防止 MySQL 双重插入的查询 −
mysql> alter table DemoTable add constraint id_NameUnKey UNIQUE(Id,Name); Query OK, 0 rows affected (0.82 sec) Records: 0 Duplicates: 0 Warnings: 0
使用 insert 命令在表中插入记录。当我们再次尝试相同的记录时,将会看到“重复输入”错误 −
mysql> insert into DemoTable values(11,'John'); Query OK, 1 row affected (0.18 sec) mysql> insert into DemoTable values(12,'John'); Query OK, 1 row affected (0.21 sec) mysql> insert into DemoTable values(11,'John'); ERROR 1062 (23000): Duplicate entry '11-John' for key 'id_NameUnKey'
使用 select 命令显示表中的记录 −
mysql> select *from DemoTable;
这将产生以下输出 −
+------+------+ | Id | Name | +------+------+ | 11 | John | | 12 | John | +------+------+ 2 rows in set (0.00 sec)
广告