删除表table1 的数据地时候,出现如上报错,原因是灵感一个表的某个字段引用了table1表的某个字段作为约束(外键)
假如引用的字段叫field,当B.field = A.field , 而你想删掉A.field,这时就爆出这个错误。解决办法是先把B.field (B.field = A.field的部分) 干掉,再干掉你想删除的A.field
问题是,如何知道哪个表引用了A表的field字段或其他字段?报错信息里并没有给出,只给出了约束的名称。这时可以查all_constraints。
select table_name from all_constraints where constraint_name = ‘约束的名称’ (一般如 FK_xxx)
查看选出的table_name 就知道索引了A的哪个字段。