是否有UNIQUE
从每列中删除所有键的查询?我并不是要求对每个特定列都这样做,因为我只需要一个直接的查询来从所有列中删除,而不是从一列中更改和删除键。
问问题
560 次
1 回答
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'
于 2011-12-13T17:28:39.397 回答