Adi*_*mar 5 mysql phpmyadmin
我有一个 MySQL 数据库,其中一个表有一个主键,f_id在多个表中作为外键引用。
f_id
我想f_id从单个批处理中删除所有引用表中具有特定值的所有记录。
我试图删除f_id主表中的特定记录,但是我不能,因为引用表中存在包含该f_id值的记录。
如何一次删除所有相关记录而不必为每个相关表手写查询?
Shl*_*ach 5
这样做的自动化方法是在您的表上定义外键,DELETE CASCADE在您的情况下使用 a 。这样,DELETE主表上的a将从所有派生表中传播和删除匹配的行。
DELETE CASCADE
DELETE
InnoDB为此,您将不得不使用表格。
InnoDB
我假设您的表目前没有外键,否则您不会问。在这种情况下,您可以尝试使用触发器,请参阅此帖子的示例。请注意,触发器对性能不利。
那些没有定义外键的人倾向于计算DELETE应用程序代码中的所有s。
归档时间:
13 年,1 月 前
查看次数:
1310 次
最近记录: