如何使用PHP DELETE 表单中的数据,数据是由三张表串联的其中a.id=b.id_b=c.id_c

2024-11-09 10:20:03
推荐回答(2个)
回答1:

可以
DELETE [LOW_PRIORITY] [QUICK] [IGNORE]tbl_name[.*] [,tbl_name[.*] ...] FROMtable_references [WHEREwhere_definition]
例如 delete a,b,c from a left join b on a.id = b.id_b left join c on b.id_b = c.id_c where a.id= '5';

不过最好是在建表的时候使用外键关系声明c.id_c是b.id_b的外键,b.id_b是a.id的外键,并且声明级联删除,这样更省事。
如 CONSTRAINT `fk_user_friend_friend_user_id` FOREIGN KEY (`friend_user_id`) REFERENCES `user` (`id`) ON DELETE CASCADE
这样声明的外键当user表中的id删除时,user_friend表中用到这个user的id的记录会被自动级联删除。

回答2:

看你的需求好像是要删除三个表中的记录,那建议你写个储存过程,这样的话可以把所有的删除表的语句写在一起了