Answers:
首先,FOREIGN KEY
以这种方式找出您的约束名称:
SELECT
TABLE_NAME,
COLUMN_NAME,
CONSTRAINT_NAME, -- <<-- the one you want!
REFERENCED_TABLE_NAME,
REFERENCED_COLUMN_NAME
FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE
WHERE
REFERENCED_TABLE_NAME = 'My_Table';
然后,您可以通过以下方式删除命名约束:
ALTER TABLE My_Table DROP FOREIGN KEY My_Table_Constraint;
正如@SteffenWinkler在注释中所建议的那样,如果在不同的模式/数据库中有多个该名称的表,则可以在where子句中添加另一个谓词:
AND TABLE_SCHEMA = 'My_Database';
SHOW CREATE TABLE My_Table;
。
My_Table
。问题要求My_Table
其他表具有约束。
AND TABLE_SCHEMA = 'My_Database';
编辑了上面的查询。将“引用表名”更改为“表名”作为“引用表名”是被引用的表,因此原始查询的结果不会向您显示表上的外键。
SELECT
TABLE_NAME,
COLUMN_NAME,
CONSTRAINT_NAME, -- <<-- the one you want!
REFERENCED_TABLE_NAME,
REFERENCED_COLUMN_NAME
FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE
WHERE
Table_name = 'case_qualitycontrolcase' and constraint_name = f