Bạn có thể xem các ràng buộc UNIQUE của một bảng trong MySQL thông qua bảng information_schema.table_constraints.
Cú pháp
SELECT DISTINCT CONSTRAINT_NAME
FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS
WHERE TABLE_NAME = 'ten_bang_cua_ban'
AND CONSTRAINT_TYPE = 'UNIQUE';
Ví dụ minh họa
Trước tiên, tạo một bảng có ràng buộc UNIQUE:
CREATE TABLE UniqueConstraint (
Id INT,
FirstName VARCHAR(30),
LastName VARCHAR(30),
CONSTRAINT uniqueFirstNameAndLastName UNIQUE (FirstName, LastName)
);
Truy vấn để lấy tên ràng buộc UNIQUE:
SELECT DISTINCT CONSTRAINT_NAME
FROM information_schema.TABLE_CONSTRAINTS
WHERE table_name = 'UniqueConstraint'
AND constraint_type = 'UNIQUE';
Kết quả:
+----------------------------+
| CONSTRAINT_NAME |
+----------------------------+
| uniqueFirstNameAndLastName |
+----------------------------+
1 row in set (0.01 sec)
Xem tất cả các ràng buộc của bảng
Nếu muốn liệt kê toàn bộ ràng buộc (kể cả PRIMARY KEY, FOREIGN KEY, v.v.), bỏ điều kiện CONSTRAINT_TYPE:
SELECT DISTINCT CONSTRAINT_NAME
FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS
WHERE CONSTRAINT_SCHEMA = 'ten_database_cua_ban'
AND TABLE_NAME = 'ten_bang_cua_ban';
Lưu ý: Thay ten_database_cua_ban và ten_bang_cua_ban bằng tên thực tế của bạn.