MySQL数据库的约束列表
如何从特定数据库获取所有约束的列表?
使用information_schema.table_constraints
表获取每个表上定义的约束的名称:
select * from information_schema.table_constraints where constraint_schema = 'YOUR_DB'
使用information_schema.key_column_usage
表获取这些约束中的每一个的字段:
select * from information_schema.key_column_usage where constraint_schema = 'YOUR_DB'
如果您正在讨论外键约束,请使用information_schema.referential_constraints
:
select * from information_schema.referential_constraints where constraint_schema = 'YOUR_DB'
很好的回答@Senseful。
我正在为那些只查找约束名称列表(而不是其他详细信息/列)的用户提供修改后的查询:
SELECT DISTINCT(constraint_name) FROM information_schema.table_constraints WHERE constraint_schema = 'YOUR_DB' ORDER BY constraint_name ASC;
SELECT * FROM USER_CONSTRAINTS WHERE TABLE_NAME =“tabnam”;