MySQL 如何在任何表中实现CANDIDATE键
每个关系可能有一个或多个候选键。其中一个候选键称为主键,每个候选键都有资格成为主键。因此,主键的候选人称为候选键。要在MySQL中实现候选键,请将多个列设置为唯一键。如下面的语法所示,这些键将符合候选密钥 –
alter table yourTableName add unique key anyName(yourColumnName1,yourColumnName2);
让我们首先创建一个 –
mysql> create table DemoTable1400
-> (
-> Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
-> Name varchar(40),
-> Age int
-> );
Query OK, 0 rows affected (0.50 sec)
以下是在任何MySQL中实现CANDIDATE键的查询 –
mysql> alter table DemoTable1400 add unique key name_age_unique(Name,Age);
Query OK, 0 rows affected (0.67 sec)
Records: 0 Duplicates: 0 Warnings: 0
使用insert在表中插入一些记录 –
mysql> insert into DemoTable1400(Name,Age) values('Chris',23);
Query OK, 1 row affected (0.14 sec)
mysql> insert into DemoTable1400(Name,Age) values('Chris',23);
ERROR 1062 (23000): Duplicate entry 'Chris-23' for key 'name_age_unique'
mysql> insert into DemoTable1400(Name,Age) values('David',23);
Query OK, 1 row affected (0.14 sec)
mysql> insert into DemoTable1400(Name,Age) values('Chris',24);
Query OK, 1 row affected (0.10 sec)
使用select显示表中的所有记录 –
mysql> select * from DemoTable1400;
这将产生以下输出 –
+----+-------+------+
| Id | Name | Age |
+----+-------+------+
| 1 | Chris | 23 |
| 4 | Chris | 24 |
| 3 | David | 23 |
+----+-------+------+
3 rows in set (0.00 sec)
阅读更多:MySQL 教程
极客教程