ОП попросил одну таблицу, которая будет делать.
Кроме того, при удалении последнего предложения where
будут показаны все столбцы базы данных, которые защищены уникальными ограничениями:
SELECT
CONSTRAINT_NAME,
TABLE_NAME,
COLUMN_NAME
FROM information_schema.KEY_COLUMN_USAGE
WHERE
CONSTRAINT_NAME LIKE 'UNIQ%'
AND TABLE_SCHEMA = 'your_database_name'
AND TABLE_NAME = 'your_table_name';
К сожалению, mysql не облегчает удаление индексов, основанных на результате запроса. Вы можете выполнить вывод следующего запроса, чтобы отбросить все уникальные столбцы в 2 запросах:
SELECT CONCAT(
'ALTER TABLE ',
TABLE_NAME,
' DROP INDEX ',
CONSTRAINT_NAME,
'; -- drops ',
COLUMN_NAME,
' constraint'
)
FROM information_schema.KEY_COLUMN_USAGE
WHERE
CONSTRAINT_NAME LIKE 'UNIQ%'
AND TABLE_SCHEMA = 'your_database_name';