是否有查询从每列中删除所有UNIQUE
个键?我不是要求对每个特定的列执行此操作,因为我只需要从所有列中删除直接查询,而不是从一列中更改和删除键。
答案 0 :(得分:0)
没有特殊命令会删除所有唯一键,但您可以从information_schema
。KEY_COLUMN_USAGE
读取信息并生成'ALTER TABLE DROP INDEX'语句。
注意,KEY_COLUMN_USAGE包含有关所有约束(主键,唯一键和外键)的信息,因此要跳过外键,请将查询与WHERE条件一起使用,例如 -
SELECT TABLE_SCHEMA, TABLE_NAME, CONSTRAINT_NAME FROM information_schema.key_column_usage
WHERE REFERENCED_TABLE_SCHEMA IS NULL;
...要从结果集中省略主键,请使用此条件 -
WHERE ... AND CONSTRAINT_NAME <> 'PRIMARY'