我的数据库中有 2 个表
用户...
ID Username Randomkey
1 Dionne 938493
2 Liam 902303
3 James 232039
4 Sarah 320923
兴趣...
ID User_ID Interest
1 3 Army
2 3 Boxing
3 3 Tennis
4 4 Make Up
在我的兴趣表中,“User_ID”等于我的用户表中的“ID”。
我想编写一个查询,在触发时从我的“用户”表中删除该行,同时从兴趣表中删除与该用户相关的所有数据。
我不确定该怎么做,而且我在 Google 上也没有运气。
如果有人能给我一些建议,或者至少告诉我在哪里可以找到这些信息,那将是一个很大的帮助。
在我的脑海里,我认为它会是这样的:
DELETE FROM users, interests WHERE ID = '$userID' AND User_ID = '$userID'
最佳答案
DELETE users, interests
FROM users
LEFT JOIN interests ON users.ID = interests.User_ID
WHERE users.ID = <id>;
当然,如果 interests
表是 InnoDB 并且对具有 ON DELETE CASCADE
的用户有外键约束,这将在用户被删除时自动完成。
关于mysql - 从 2 个表中删除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6726531/