我确信这是一个非常基本的问题,但是我茫然不知所措,最近开始使用MySQL。我已经修改,创建数据库,用户,表,向表中添加和修改了条目,但现在我认为我需要在此处使用Join,但不确定。
在同一个数据库中,我有两个表。任务表具有两列感兴趣的用户和密钥ID。而活动表有一个感兴趣的列,即任务。我需要做的是删除某个用户的表任务中的所有任务。但是,这也意味着我需要删除这些任务的所有活动。现在,它们之间的关联方式是,任务表中的keyid值是活动表中task列中的值。
我的问题是如何编写DROP或DROP + JOIN查询来做到这一点?
最佳答案
您可以像这样使用JOIN
:
DELETE Tasks, Activities
FROM Tasks INNER JOIN Activities
ON Tasks.KeyID = Activities.Task
WHERE Tasks.User = 'User Name Here'
但是最好在设计表时使用
ON DELETE CASCADE
,以便必须从母表中删除,并且子表的所有相关记录也将被自动删除。请参见示例here。
关于mysql - 如何删除数据库中MySQL表中的相关数据?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25642045/