Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MySQL

MySQL: Tạo cột có Key = MUL (Non-unique Index)

Để đặt chỉ mục (index) cho cột khiến hiển thị Key = MUL trong DESC, sử dụng ADD KEY hoặc ADD INDEX.

Cú pháp

ALTER TABLE ten_bang 
MODIFY COLUMN ten_cot kieu_du_lieu, 
ADD KEY (ten_cot);

Ví dụ minh họa

Tạo bảng ban đầu (chưa có index):

mysql> CREATE TABLE GiangVien (
    -> GiangVien_Id INT,
    -> TenGiangVien VARCHAR(30),
    -> TenKhoaHoc VARCHAR(100)
    -> );

Kiểm tra cấu trúc (DESC) - cột Key trống:

+-----------------------+--------------+------+-----+---------+-------+
| Field                 | Type         | Null | Key | Default | Extra |
+-----------------------+--------------+------+-----+---------+-------+
| GiangVien_Id          | int(11)      | YES  |     | NULL    |       |
| TenGiangVien          | varchar(30)  | YES  |     | NULL    |       |
| TenKhoaHoc            | varchar(100) | YES  |     | NULL    |       |
+-----------------------+--------------+------+-----+---------+-------+

Thêm index cho cột GiangVien_Id (Key = MUL)

mysql> ALTER TABLE GiangVien 
    -> MODIFY COLUMN GiangVien_Id INT NOT NULL AUTO_INCREMENT,
    -> ADD KEY (GiangVien_Id);

Kiểm tra lại:

+-----------------------+--------------+------+-----+---------+----------------+
| Field                 | Type         | Null | Key | Default | Extra          |
+-----------------------+--------------+------+-----+---------+----------------+
| GiangVien_Id          | int(11)      | NO   | MUL | NULL    | auto_increment |
| TenGiangVien          | varchar(30)  | YES  |     | NULL    |                |
| TenKhoaHoc            | varchar(100) | YES  |     | NULL    |                |
+-----------------------+--------------+------+-----+---------+----------------+

Thêm index cho cột không phải khóa chính (TenGiangVien)

mysql> ALTER TABLE GiangVien 
    -> MODIFY COLUMN TenGiangVien VARCHAR(30) NOT NULL,
    -> ADD KEY (TenGiangVien);

Kết quả: cả hai cột đều có Key = MUL.

Giải thích: MUL (Multiple) nghĩa là cột có index non-unique (cho phép giá trị trùng lặp), khác với PRI (Primary Key) và UNI (Unique Key).