1
我有一个名为'pages'的表。每个页面都有文本,视频或图像的内容类型。根据内容类型的不同,记录也会插入文本,视频或图像表中。如果从主表中删除行,则从其他表中删除行
当我从'网页'中删除一行时,如何确保删除另一个表中的行?我对CASCADE有一点了解,但我没有使用外键。至少不明确。
我的表类似于下(我已经剥离出来是没有相关的问题域)
页:ID,标题,内容
视频:PID(页ID),youtube_url
任何帮助将不胜感激。
我不使用InnoDB的没有。我可以看到解决这个问题的唯一方法是,从父项中删除一行,检查内容类型并从子表中删除该行。 虽然我确定有更好的解决方案。 – 2010-08-29 15:30:18
你可以声明触发器,是我写的 – 2010-08-29 15:31:23
+1的2个选项 - 在数据库级别,这些是2个选项。但是,如果可能的话,我会建议使用事务在应用程序级别执行此操作。级联删除和数据库触发器都可能成为维护噩梦,因为它们在调试问题时非常难以查明 – InSane 2010-08-29 15:32:13