在 MySQL 中用 Key=MUL 建立列?


需要使用 ADD KEY 來使用 Key=MUL 建立列。語法如下 -

ALTER TABLE yourTableName MODIFY COLUMN yourColumnName data type,
ADD KEY(yourColumnName);

為了理解上面的語法,讓我們建立一個表。建立表的查詢如下 -

mysql> create table Instructor
   -> (
   -> Instructor_Id int,
   -> Instructor_Name varchar(30),
   -> Instructor_CourseName varchar(100)
   -> );
Query OK, 0 rows affected (0.63 sec)

現在你可以查看錶描述,KEY 列沒有 MUL 鍵。使用 DESC 命令檢查表描述的查詢如下。

mysql> desc Instructor;

以下是輸出 -

+-----------------------+--------------+------+-----+---------+-------+
| Field                 | Type         | Null | Key | Default | Extra |
+-----------------------+--------------+------+-----+---------+-------+
| Instructor_Id         | int(11)      | YES  |     | NULL    |       |
| Instructor_Name       | varchar(30)  | YES  |     | NULL    |       |
| Instructor_CourseName | varchar(100) | YES  |     | NULL    |       |
+-----------------------+--------------+------+-----+---------+-------+
3 rows in set (0.00 sec)

以下是使用 Key=MUL 在 MySQL 中建立列的查詢。將列 `Instructor_Id` 設為 Key=MUL。查詢如下 -

mysql> alter table Instructor modify column Instructor_Id int NOT NULL AUTO_INCREMENT,
   -> add key(Instructor_Id);
Query OK, 0 rows affected (2.88 sec)
Records: 0 Duplicates: 0 Warnings: 0

再次檢查表描述。查詢如下 -

mysql> desc Instructor;

以下是輸出 -

+-----------------------+--------------+------+-----+---------+----------------+
| Field                 | Type         | Null | Key | Default | Extra          |
+-----------------------+--------------+------+-----+---------+----------------+
| Instructor_Id         | int(11)      | NO   | MUL | NULL    | auto_increment |
| Instructor_Name       | varchar(30)  | YES  |     | NULL    |                |
| Instructor_CourseName | varchar(100) | YES  |     | NULL    |                |
+-----------------------+--------------+------+-----+---------+----------------+
3 rows in set (0.00 sec)

要新增非主鍵,需要使用以下查詢 -

mysql> alter table Instructor modify column Instructor_Name varchar(30) NOT NULL,
   -> add key(Instructor_Name);
Query OK, 0 rows affected (2.77 sec)
Records: 0 Duplicates: 0 Warnings: 0

再次檢查表描述。查詢如下 -

mysql> desc Instructor;

以下是輸出,顯示某個欄位的 Key 為 MUL -

+-----------------------+--------------+------+-----+---------+----------------+
| Field                 | Type         | Null | Key | Default | Extra          |
+-----------------------+--------------+------+-----+---------+----------------+
| Instructor_Id         | int(11)      | NO   | MUL | NULL    | auto_increment |
| Instructor_Name       | varchar(30)  | NO   | MUL | NULL    |                |
| Instructor_CourseName | varchar(100) | YES  |     | NULL    |                |
+-----------------------+--------------+------+-----+---------+----------------+
3 rows in set (0.00 sec)

更新時間: 30-7-2019

5K+ 閱讀

開啟你的職業生涯

透過完成課程獲得認證

開始
廣告