[英]how to delete from more than two (2) tables using mysql joins
我正在尝试在我的数据库上运行多次删除,但是当它运行时它没有错误运行但没有删除任何内容? 如果甚至一个表没有任何链接到另一个表,那么内部连接是否会失败?
在 Express.js api 中使用查询我试图完成我们。
在将它们放入我的 api 之前,我通常会在 DBMS 中测试这样的大查询。
下面是查询:
DELETE task,issue,milestone,help_source,project_task,project_source,project_milestone,task_created_by,mileStone_created_by,issue_created_by,source_created_by,task_issue,milestone_task,project_creation,project
from project_creation
INNER JOIN project_milestone ON project_milestone.projectId = project_creation.projectId
INNER JOIN project_task ON project_task.projectId = project_creation.projectId
INNER JOIN project_source ON project_source.projectId = project_creation.projectId
INNER JOIN task_created_by ON task_created_by.taskId = project_task.taskId
INNER JOIN mileStone_created_by On mileStone_created_by.mileStoneId = project_milestone.mileStoneId
INNER JOIN source_created_by ON source_created_by.sourceId = project_source.sourceId
INNER JOIN task_issue ON task_issue.taskId = project_task.taskId
INNER JOIN issue_created_by ON issue_created_by.issueId = task_issue.issueId
INNER JOIN milestone_task On milestone_task.taskId = project_task.taskId
INNER JOIN task On task.taskId = project_task.taskId
INNER JOIN issue ON issue.issueId = task_issue.issueId
INNER JOIN milestone ON milestone.mileStoneId = project_milestone.mileStoneId
INNER JOIN help_source On help_source.sourceId = project_source.sourceId
INNER JOIN project ON project.projectId = project_creation.projectId
WHERE project.projectId = 59;
我的逻辑有什么错误吗? 如果是,那是什么? 还是在我不知道的情况下删除?
您可能会问的问题:
我是否尝试搜索堆栈溢出? ANS:是的,我做了,但似乎无法找到适合这种奇怪情况的答案
所以没有错误? ANS:不,当我运行查询时没有错误
尝试查看该主题: How to Delete using INNER JOIN with SQL Server?
据我所知,您需要为每个表指定别名。 所以任务,问题...是别名,但在内部连接表名称之后看不到任何一个(真实,与表相同的名称,但可能需要别名)例如:INNER JOIN task task ON...(现在任务是别名,所以你从表任务中删除)没有检查它,但如果是工作,应该是修复。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.