我正在修改当前的数据库模式。我想放弃一对一关系的子方面,但我不断收到有关外键约束的SQL错误,特别是:
#1217-无法删除或更新父行:外键约束失败
即使目前似乎没有任何外键在起作用(子表完全为空)。
有任何想法吗?
首先,从引用(子)表中删除外键约束,然后从引用(父)表中删除。
例如:
ALTER TABLE child
DROP FOREIGN KEY FK_child_parent ;
DROP TABLE parent ;
(显然,您需要用表的实际标识符和外键约束替换“ child”,“ parent”和“ FK_child_parent”。
一种获取外键约束名称的简单方法是使用该SHOW CREATE TABLE
语句,
SHOW CREATE TABLE child ;
该输出将显示外键约束的名称。
如果您不知道哪些表具有引用该表的外键,则可以查询该information_schema.referential_constraints
表以查找它们
WHERE referenced_table_name = 'parent'
AND constraint_schema = 'mydatabase'
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句