Computer >> 컴퓨터 >  >> 프로그램 작성 >> MySQL

MySQL 테이블에서 CANDIDATE 키를 구현하는 방법은 무엇입니까?

<시간/>

각 관계는 하나 이상의 후보 키를 가질 수 있습니다. 이러한 후보 키 중 하나를 기본 키라고 합니다. 각 후보 키는 기본 키에 적합합니다. 따라서 Primary Key의 후보를 Candidate Key라고 합니다. 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)