Vấn đề:
Bạn muốn tìm tên của các ràng buộc trong bảng trong MySQL.
Ví dụ:
Chúng tôi muốn hiển thị tên của các ràng buộc trong bảng student .
Giải pháp:
SELECT TABLE_NAME, CONSTRAINT_TYPE, CONSTRAINT_NAME FROM information_schema.table_constraints WHERE table_name='student';
Đây là kết quả:
| TABLE_NAME | CONSTRAINT_TYPE | CONSTRAINT_NAME |
|---|---|---|
| sinh viên | TỪ KHÓA CHÍNH | CHÍNH |
| sinh viên | DUY NHẤT | personal_number |
| sinh viên | KEY NGOẠI HỐI | student_ibfk_1 |
| sinh viên | KIỂM TRA | student_chk_1 |
Thảo luận:
Sử dụng chế độ xem table_constraints trong information_schema lược đồ. Chế độ xem này chứa rất nhiều cột, nhưng quan trọng nhất là table_name , constraint_type và constraint_name . Cột table_name cung cấp cho bạn tên của bảng trong đó ràng buộc được xác định và cột constraint_name chứa tên của ràng buộc. Cột constraint_type cho biết loại ràng buộc:PRIMARY KEY cho loại khóa chính, FOREIGN KEY đối với loại khóa ngoại, UNIQUE cho các giá trị duy nhất và CHECK để kiểm tra ràng buộc. Trong ví dụ của chúng tôi, bạn có thể thấy ràng buộc có tên PRIMARY cho khóa chính trong student bàn. constraint_type cột cung cấp cho bạn thông tin về loại của mỗi ràng buộc; đối với khóa chính, nó là PRIMARY KEY .