Как удалить из более чем двух (2) таблиц с помощью соединений MySQL - PullRequest
0 голосов
/ 20 января 2019

Я пытаюсь запустить множественное удаление в моей базе данных, но при запуске она работает без ошибок, но ничего не было удалено?Может ли случиться так, что внутреннее соединение завершится неудачей, если хотя бы в одной таблице нет ссылок на другие и так далее?

используя запрос в API Express.js Я пытаюсь завершить нас.

Обычно я тестирую большие запросы, подобные этим, в СУБД, прежде чем помещать их в свой API.

ниже приведен запрос:

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: нет, при запуске запроса ошибок нет

1 Ответ

0 голосов
/ 20 января 2019

попробуйте взглянуть на эту тему: Как удалить, используя INNER JOIN с SQL Server?

Насколько я понимаю, вам нужно указать псевдонимы для каждой таблицы.Итак, задача, проблема ... являются псевдонимами, но не могут видеть ни одного из них после имени таблицы внутреннего соединения (true, те же имена, что и у таблиц, но, возможно, требуются псевдонимы) Например: INNER JOIN задача задачи ВКЛ ... (теперь задача является псевдонимом, так что вы удаляете из таблицы задание) Не проверял, но если это будет работа, это должно быть исправление.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...