Bạn có thể sử dụng hàm tổng hợp đếm (*). Nếu nó trả về giá trị lớn hơn 1, điều đó có nghĩa là bảng có khóa chính tổng hợp.
Đầu tiên chúng ta hãy tạo một bảng -
mysql> create table DemoTable1324 -> ( -> StudentId int, -> StudentName varchar(20), -> StudentAge int, -> StudentCountryName varchar(20) -> ); Query OK, 0 rows affected (0.52 sec)
Đây là truy vấn để thêm khóa chính tổng hợp -
mysql> alter table DemoTable1324 ADD CONSTRAINT constr_IdAgeCountry PRIMARY KEY (StudentId, StudentAge,StudentCountryName); Query OK, 0 rows affected (1.29 sec) Records: 0 Duplicates: 0 Warnings: 0
Sau đây là truy vấn để xác định khóa chính tổng hợp trong bất kỳ bảng cơ sở dữ liệu MySQL nào -
mysql> select count(*) AS Total -> from information_schema.KEY_COLUMN_USAGE -> where table_name='DemoTable1324' and table_schema=database();
Điều này sẽ tạo ra kết quả sau -
+-------+ | Total | +-------+ | 3 | +-------+ 1 row in set, 2 warnings (0.76 sec)