如何确保 MySQL 行是唯一的?

mysqlmysqli database更新于 2024/8/10 11:56:17

要确保 MySQL 行是唯一的,您需要使用 UNIQUE 约束。让我们首先创建一个表 −

mysql> create table DemoTable1580
   -> (
   -> id int,
   -> Name varchar(20),
   -> Age int
   -> );
Query OK, 0 rows impacted (0.73 sec)

以下是创建唯一约束以确保 MySQL 行唯一的查询 −

mysql> alter table DemoTable1580 add unique index(id,Name,Age);
Query OK, 0 rows affected (0.45 sec)
Records: 0  Duplicates: 0  Warnings: 0

使用 insert 命令在表中插入一些记录 −

mysql> insert into DemoTable1580 values(101,'Chris',21);
Query OK, 1 row affected (0.24 sec)
mysql> insert into DemoTable1580 values(102,'Chris',21);
Query OK, 1 row affected (0.15 sec)
mysql> insert into DemoTable1580 values(102,'David',21);
Query OK, 1 row affected (0.49 sec)
mysql> insert into DemoTable1580 values(101,'Chris',21);
ERROR 1062 (23000): Duplicate entry '101-Chris-21' for key 'id'

使用 select 语句显示表中的所有记录 −

mysql> select * from DemoTable1580;

这将产生以下输出 −

+------+-------+------+
| id   | Name  | Age  |
+------+-------+------+
|  101 | Chris |   21 |
|  102 | Chris |   21 |
|  102 | David |   21 |
+------+-------+------+
3 rows in set (0.00 sec)

相关文章


有用资源