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

Thêm ràng buộc UNIQUE vào ALTER TABLE trong MySQL

Hãy cùng tạo một bảng trước:

mysql> CREATE TABLE DemoTable1811 (
    FirstName VARCHAR(20),
    LastName VARCHAR(20)
    ); Query OK, 0 rows affected (0.00 sec)

Dưới đây là truy vấn để thêm chỉ mục (index) UNIQUE:

mysql> ALTER TABLE DemoTable1811 ADD UNIQUE unique_index_first_last_name(FirstName, LastName); Query OK, 0 rows affected (0.00 sec) Records: 0 Duplicates: 0 Warnings: 0

Chèn một số bản ghi vào bảng bằng lệnh INSERT:

mysql> INSERT INTO DemoTable1811 VALUES('John','Smith'); Query OK, 1 row affected (0.00 sec)
mysql> INSERT INTO DemoTable1811 VALUES('John','Doe'); Query OK, 1 row affected (0.00 sec)
mysql> INSERT INTO DemoTable1811 VALUES('Adam','Smith'); Query OK, 1 row affected (0.00 sec)
mysql> INSERT INTO DemoTable1811 VALUES('John','Doe'); ERROR 1062 (23000): Duplicate entry 'John-Doe' for key 'unique_index_first_last_name'

Hiển thị tất cả bản ghi từ bảng bằng lệnh SELECT:

mysql> SELECT * FROM DemoTable1811;

Kết quả sẽ như sau:

+-----------+----------+
| FirstName | LastName |
+-----------+----------+
| Adam      | Smith    |
| John      | Doe      |
| John      | Smith    |
+-----------+----------+
3 rows in set (0.00 sec)