从2个表中删除

Lia*_*iam 2 mysql sql-delete

我的数据库中有2个表

用户...

ID    Username    Randomkey
1     Dionne      938493
2     Liam        902303
3     James       232039
4     Sarah       320923
Run Code Online (Sandbox Code Playgroud)

利益......

ID    User_ID    Interest
1     3          Army
2     3          Boxing
3     3          Tennis
4     4          Make Up
Run Code Online (Sandbox Code Playgroud)

在我的兴趣表中,'User_ID'等于来自我的users表的'ID'.

我想编写一个查询,当触发时,从我的'users'表中删除该行,同时从interest表中删除与该用户相关的所有数据.

我不确定如何做到这一点,我对谷歌没有运气.

如果有人能给我一些建议或至少指出我在哪里可以找到这些信息,那将是一个很大的帮助.

在我脑海里,我认为这将是:

DELETE FROM users, interests WHERE ID = '$userID' AND User_ID = '$userID'
Run Code Online (Sandbox Code Playgroud)

Wri*_*ken 6

DELETE users, interests 
FROM users 
LEFT JOIN interests ON users.ID = interests.User_ID
WHERE users.ID = <id>;
Run Code Online (Sandbox Code Playgroud)

当然,如果interests表是InnoDB并且对用户有外键约束,ON DELETE CASCADE那么当用户被删除时,这将自动完成.