删除表A中的一列 出错 提示有外键关系无法删除 如何解决?

来源:百度知道 编辑:UC知道 时间:2024/05/25 13:03:33
表A与表B 表C 有外键关系 如何做到删除表A中的一列时同时删除表B及表C中的相关列?

最笨的办法是,先把B和C表中的相关联的数据删除后,再删除A表中的数据

如果想做到同时删除,需要写一个存储过程.

>删除表A中的一列 出错 提示有外键关系无法删除 如何解决?
你用的是TRUNCATE吧?用DELETE就行了,不用管关联数据。

〉表A与表B 表C 有外键关系 如何做到删除表A中的一列时同时删除表B及表C中的相关列?

没有办法能同时做到这两点的。

用存储过程

用触发器解决啦
比如B,C中分别有Bcol,Ccol在A中有约束
create or replace trigger A_trigger
after delete on A
for each row
begin
delete from B where Bcol=:old.Bcol;
delete from C where Ccol=:old.Ccol;
end;
这样就OK啦;

在你的语句后加 cascade constriants 试试