Я пробовал несколько sql-скриптов, но не смог. Вот тот, с которым я приблизился:
SELECT *
FROM INFORMATION_SCHEMA.STATISTICS
WHERE table_schema = schema()
AND table_name = 'my_table_name'
AND index_name = 'column_name';
Я думаю, что вам нужно ниже выражение
https://www.db-fiddle.com/f/jbdzXwpWkYichsBL1ib2Rj/2
select constraint_name
from information_schema.table_constraints
where table_name = 'mytable'
and table_schema = 'myschema'
and constraint_name = 'PRIMARY';
или ниже https://www.db-fiddle.com/f/jbdzXwpWkYichsBL1ib2Rj/3
SELECT EXISTS(
SELECT 1
FROM information_schema.columns
WHERE
table_name='messages'
and column_key = 'PRI'
) As HasPrimaryKey;
SELECT * FROM INFORMATION_SCHEMA.COLUMNS
WHERE table_schema = schema()
AND column_key = 'PRI'
AND table_name = 'my_table_name'
AND column_name = 'column_name';
ALTER TABLE my_table_name DROP PRIMARY KEY;
первичный ключ с помощью ALTER TABLE my_table_name DROP PRIMARY KEY;
столбец все еще обнаруживается.