MySQL 如何防止INSERT 中的重复行
为此,您需要在列中使用 UNIQUE KEY。让我们首先创建一个表 –
mysql> create table DemoTable
(
Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
FirstName varchar(30),
UNIQUE KEY(FirstName)
);
Query OK, 0 rows affected (1.76 sec)
使用 insert 命令在表中插入一些记录。现在,我们还插入了像“David”这样的重复记录,但它不会被插入两次,因为我们已将该列设置为 UNIQUE KEY –
mysql> insert ignore into DemoTable(FirstName) values('Chris');
Query OK, 1 row affected (0.42 sec)
mysql> insert ignore into DemoTable(FirstName) values('David');
Query OK, 1 row affected (0.12 sec)
mysql> insert ignore into DemoTable(FirstName) values('Chris');
Query OK, 0 rows affected, 1 warning (0.17 sec)
mysql> insert ignore into DemoTable(FirstName) values('Sam');
Query OK, 1 row affected (0.11 sec)
mysql> insert ignore into DemoTable(FirstName) values('David');
Query OK, 0 rows affected, 1 warning (0.07 sec)
使用 select 语句显示表中的所有记录 –
mysql> select *from DemoTable;
这将产生以下输出 –
+----+-----------+
| Id | FirstName |
+----+-----------+
| 1 | Chris |
| 2 | David |
| 4 | Sam |
+----+-----------+
3 rows in set (0.00 sec)
阅读更多:MySQL 教程