MySQL 如何防止在 MySQL 表中输入重复条目

MySQL 如何防止在 MySQL 表中输入重复条目

如果不允许在 MySQL 表中输入任何重复条目,您需要添加唯一键。语法如下 –

alter ignore table yourTableName add constraint unique key(yourColumName);
Mysql

以上语法设置唯一键。为了理解以上语法,让我们创建一个表。

以下是创建表的查询 –

mysql> create table RemoveDuplicateEntry
   −> (
   −> Id int,
   −> Name varchar(100)
   −> )ENGINE = MyISAM;
Query OK, 0 rows affected (0.15 sec)
Mysql

现在,您可以实施上述的语法。查询如下 –

mysql> alter table RemoveDuplicateEntry add constraint unique key(Id);
Query OK, 0 rows affected (0.56 sec)
Records: 0 Duplicates: 0 Warnings: 0
Mysql

现在让我们检查一下表结构。查询如下 –

mysql> desc RemoveDuplicateEntry;
Mysql

以下是输出结果 –

+-------+--------------+------+-----+---------+-------+
| Field | Type         | Null | Key | Default | Extra |
+-------+--------------+------+-----+---------+-------+
| Id    | int(11)      | YES  | UNI | NULL    |       |
| Name  | varchar(100) | YES  |     | NULL    |       |
+-------+--------------+------+-----+---------+-------+
2 rows in set (0.00 sec)
Mysql

现在,我们插入一些具有重复条目的记录。由于我们在上面使用了 UNIQUE,因此这些重复条目将无法插入 –

插入记录的查询如下 –

mysql> insert into RemoveDuplicateEntry values(101,'John');
Query OK, 1 row affected (0.06 sec)
Mysql

如果您再次插入相同的记录,将显示以下错误 –

mysql> insert into RemoveDuplicateEntry values(101,'John');
ERROR 1062 (23000): Duplicate entry '101' for key 'Id'
Mysql

使用 select 语句从表中检查所有记录。查询如下 –

mysql> select *from RemoveDuplicateEntry;
Mysql

以下是不包含重复条目的记录的输出结果 –

+------+------+
| Id   | Name |
+------+------+
| 101  | John |
+------+------+
1 row in set (0.00 sec)
Mysql

阅读更多:MySQL 教程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

登录

注册