如何防止 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)
廣告