0

是否有UNIQUE从每列中删除所有键的查询?我并不是要求对每个特定列都这样做,因为我只需要一个直接的查询来从所有列中删除,而不是从一列中更改和删除键。

4

1 回答 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 回答