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

기존 MySQL 테이블의 여러 열에 PRIMARY KEY를 어떻게 설정할 수 있습니까?

<시간/>

ALTER TABLE 문과 함께 ADD 키워드를 사용하여 기존 테이블의 여러 열에 PRIMARY KEY 제약 조건을 설정할 수 있습니다.

예시

다음과 같은 'Room_allotment' 테이블이 있다고 가정합니다. -

mysql> Create table Room_allotment(Id Int, Name Varchar(20), RoomNo Int);
Query OK, 0 rows affected (0.20 sec)

mysql> Describe Room_allotment;
+--------+-------------+------+-----+---------+-------+
| Field  | Type        | Null | Key | Default | Extra |
+--------+-------------+------+-----+---------+-------+
| Id     | int(11)     | YES  |     | NULL    |       |
| Name   | varchar(20) | YES  |     | NULL    |       |
| RoomNo | int(11)     | YES  |     | NULL    |       |
+--------+-------------+------+-----+---------+-------+
3 rows in set (0.11 sec)

이제 다음 쿼리를 사용하여 'id' 및 'Name'이라는 여러 열에 복합 PRIMARY KEY를 추가할 수 있습니다.

mysql> Alter Table Room_allotment ADD PRIMARY KEY(Id, Name);
Query OK, 0 rows affected (0.29 sec)
Records: 0  Duplicates: 0  Warnings: 0

mysql> Describe Room_allotment;
+--------+-------------+------+-----+---------+-------+
| Field  | Type        | Null | Key | Default | Extra |
+--------+-------------+------+-----+---------+-------+
| Id     | int(11)     | NO   | PRI | 0       |       |
| Name   | varchar(20) | NO   | PRI |         |       |
| RoomNo | int(11)     | YES  |     | NULL    |       |
+--------+-------------+------+-----+---------+-------+
3 rows in set (0.12 sec)

위의 결과 집합에서 PRIMARY KEY가 여러 열에 추가되었음을 알 수 있습니다.