有外键关联是最头大的事情,还要高效。建议针对特殊情况写一个事务,放在触发器里试试。
事务的处理机制:
1、先根据ID找出外键相关表,
2、有外键的,先再临时禁用外键约束,再删除,其他的正常delete
3、启用外键约束。
不过,这里有个问题,很容易锁住
可以参考这里得到相关的有外键约束的表名
http://www.cnblogs.com/downmoon/archive/2009/09/11/1564391.html
同意楼上。
主外键删除从主到外
这个没有什么高效的捷径吧,主要是考虑数据的一致性,用事务处理比较好些
事务,程序的或者存储过程控制都可以。
1.如果数据库设计是这样就好搞,比如A 和B关联 A和C关联,可以建立个中间关系表F,这样关系就处理为A关联F,所有A的外键都在F中了,只在这个表搞,就好多了。
2.利用SQL中的TRY CATCH,捕获异常后,获取异常表删除,一层层下去,没使用过,具体行不行没验证。
3.传统做法,o(∩_∩)o...
楼主有好的解决方法了,给发个邮件可以么????????