如何在 MySQL 中建立唯一的複合鍵?
要形成唯一複合鍵,需要使用 ADD UNIQUE 命令。以下是語法:−
alter table yourTableName add unique yourUniqueName( yourColumnName1,yourColumnName2,.......N);
讓我們首先建立一個表。以下是查詢:−
mysql> create table makeCompositeKeyDemo -> ( -> Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, -> StudentName varchar(40), -> StudentAge int, -> StudentGrade char(1) -> ); Query OK, 0 rows affected (2.34 sec)
現在使用 DESC 命令檢查表的描述。以下是查詢:−
mysql> desc makeCompositeKeyDemo;
這將產生以下輸出:−
+--------------+-------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +--------------+-------------+------+-----+---------+----------------+ | Id | int(11) | NO | PRI | NULL | auto_increment | | StudentName | varchar(40) | YES | | NULL | | | StudentAge | int(11) | YES | | NULL | | | StudentGrade | char(1) | YES | | NULL | | +--------------+-------------+------+-----+---------+----------------+ 4 rows in set (1.65 sec)
以下是形成唯一複合鍵的查詢:−
mysql> alter table makeCompositeKeyDemo add unique Name_Age_Grade( StudentName,StudentAge,StudentGrade); Query OK, 0 rows affected (0.69 sec) Records: 0 Duplicates: 0 Warnings: 0
現在再次檢查表描述。以下是查詢:−
mysql> desc makeCompositeKeyDemo;
這將產生以下輸出:−
+--------------+-------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +--------------+-------------+------+-----+---------+----------------+ | Id | int(11) | NO | PRI | NULL | auto_increment | | StudentName | varchar(40) | YES | MUL | NULL | | | StudentAge | int(11) | YES | | NULL | | | StudentGrade | char(1) | YES | | NULL | | +--------------+-------------+------+-----+---------+----------------+ 4 rows in set (0.00 sec)
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP