我确信这是一个非常基本的问题,但是我茫然不知所措,最近开始使用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/

10-15 12:24
查看更多