如何在任何 MySQL 表中实现候选键?
mysqlmysqli database
每个关系可能有一个或多个候选键。其中一个候选键称为主键。每个候选键都符合主键的条件。因此,主键的候选键称为候选键。要在 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)