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

MySQL에 복합 기본 키를 추가하는 ALTER TABLE?

<시간/>

복합 기본 키를 추가하려면 ALTER 명령을 사용하십시오. 먼저 데모 테이블을 생성하겠습니다.

테이블 생성 쿼리입니다.

mysql> create table CompositePrimaryKey
   -> (
   -> Id int,
   -> StudentName varchar(100),
   -> Age int
   -> );
Query OK, 0 rows affected (0.56 sec)

지금까지 위의 복합 기본 키를 추가하지 않았습니다. 이제 desc 명령어로 확인해보자.

mysql> desc CompositePrimaryKey;

다음은 출력입니다.

+-------------+--------------+------+-----+---------+-------+
| Field       | Type         | Null | Key | Default | Extra |
+-------------+--------------+------+-----+---------+-------+
| Id          | int(11)      | YES  |     | NULL    |       |
| StudentName | varchar(100) | YES  |     | NULL    |       |
| Age         | int(11)      | YES  |     | NULL    |       |
+-------------+--------------+------+-----+---------+-------+
3 rows in set (0.09 sec)

위의 샘플 출력을 보면 기본 키워드가 없습니다. 이것은 복합 기본 키를 사용할 수 없음을 나타냅니다.

이제 ALTER 명령을 사용하여 복합 기본 키를 추가해 보겠습니다. 쿼리는 다음과 같습니다.

mysql>  ALTER table CompositePrimaryKey add primary key(Id,StudentName);
Query OK, 0 rows affected (1.26 sec)
Records: 0  Duplicates: 0  Warnings: 0

위에서 열 이름이 "Id"와 "StudentName"인 복합 기본 키를 추가했습니다. 이를 확인하기 위해 DESC 명령을 사용할 수 있습니다. 쿼리는 다음과 같습니다.

mysql> DESC CompositePrimaryKey;

다음은 출력입니다.

+-------------+--------------+------+-----+---------+-------+
| Field       | Type         | Null | Key | Default | Extra |
+-------------+--------------+------+-----+---------+-------+
| Id          | int(11)      | NO   | PRI | NULL    |       |
| StudentName | varchar(100) | NO   | PRI | NULL    |       |
| Age         | int(11)      | YES  |     | NULL    |       |
+-------------+--------------+------+-----+---------+-------+
3 rows in set (0.00 sec)

위의 출력에서 ​​볼 수 있듯이 "PR"은 Id 및 StudentName 열에 복합 기본 키를 성공적으로 추가했음을 의미합니다.