如何防止在 MySQL 表中輸入重複的條目?
若要防止在 MySQL 表中輸入重複條目,你需要新增唯一鍵。以下是該語法的示例 −
alter ignore table yourTableName add constraint unique key(yourColumName);
上述語法設定了唯一鍵。若要理解上述語法,讓我們建立一個表。
以下是建立表的查詢 −
mysql> create table RemoveDuplicateEntry −> ( −> Id int, −> Name varchar(100) −> )ENGINE = MyISAM; Query OK, 0 rows affected (0.15 sec)
現在,你可以實現文章開篇時所討論的語法。查詢如下 −
mysql> alter table RemoveDuplicateEntry add constraint unique key(Id); Query OK, 0 rows affected (0.56 sec) Records: 0 Duplicates: 0 Warnings: 0
現在,讓我們查看錶結構。查詢如下 −
mysql> desc RemoveDuplicateEntry;
以下是輸出 −
+-------+--------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------+--------------+------+-----+---------+-------+ | Id | int(11) | YES | UNI | NULL | | | Name | varchar(100) | YES | | NULL | | +-------+--------------+------+-----+---------+-------+ 2 rows in set (0.00 sec)
現在,讓我們插入一些帶有重複條目的記錄。由於我們在上面使用了 UNIQUE,所以這些條目不會被插入 −
插入記錄的查詢如下 −
mysql> insert into RemoveDuplicateEntry values(101,'John'); Query OK, 1 row affected (0.06 sec)
現在,如果你要再次插入相同的記錄,那麼將會看到以下錯誤 −
mysql> insert into RemoveDuplicateEntry values(101,'John'); ERROR 1062 (23000): Duplicate entry '101' for key 'Id'
使用 select 語句查看錶中的所有記錄。查詢如下 −
mysql> select *from RemoveDuplicateEntry;
以下是輸出,顯示不帶重複條目的記錄 −
+------+------+ | Id | Name | +------+------+ | 101 | John | +------+------+ 1 row in set (0.00 sec)
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP