Sử dụng ALTER TABLE ... ADD PRIMARY KEY để tạo khóa chính từ nhiều cột.
Tạo bảng:
mysql> CREATE TABLE CompositePrimaryKey (
-> Id INT,
-> StudentName VARCHAR(100),
-> Age INT
-> ); Query OK, 0 rows affected (0.56 sec)
Thêm khóa chính tổ hợp:
mysql> ALTER TABLE CompositePrimaryKey ADD PRIMARY KEY(Id, StudentName); Query OK, 0 rows affected (1.26 sec)
Kiểm tra:
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 | | +-------------+--------------+------+-----+---------+-------+
Cả hai cột Id và StudentName đều có PRI trong cột Key.