如何不允许重复的条目输入MySQL表?
为了不允许在MySQL表中输入任何重复的条目,您需要添加唯一键。语法如下-
alter ignore table yourTableName add constraint unique key(yourColumName);
上面的语法设置唯一键。为了理解上述语法,让我们创建一个表。
以下是创建表的查询-
mysql> create table RemoveDuplicateEntry −> ( −> Id int, −> Name varchar(100) −> )ENGINE = MyISAM;
现在,您可以实现开头讨论的语法。查询如下-
mysql> alter table RemoveDuplicateEntry add constraint unique key(Id); 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');
现在,如果您再次插入相同的记录,则以下错误将可见-
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)