一尘不染

MySQL-用一个查询从多个表中删除[重复]

mysql

这个问题已经在这里有了答案

如何从MySQL中的多个表中删除? (7个答案)

2年前关闭。

我有4个表,每个表存储有关用户的不同信息。每个表都有一个带有user_id的字段,用于标识哪个行属于哪个用户。如果要删除用户,这是从多个表中删除该用户信息的最佳方法吗?我的目标是在一个查询中做到这一点。

查询:

"DELETE FROM table1 WHERE user_id='$user_id';
DELETE FROM table2 WHERE user_id='$user_id';
DELETE FROM table3 WHERE user_id='$user_id';
DELETE FROM table4 WHERE user_id='$user_id';";

阅读 338

收藏
2020-05-17

共1个答案

一尘不染

您可以使用ON DELETE CASCADE选项在表上定义外键约束。

然后,从父表中删除记录将从子表中删除记录。

检查此链接:http : //dev.mysql.com/doc/refman/5.5/en/innodb-foreign-key-
constraints.html

2020-05-17