MySQL ON DELETE CASCADE установлен, но не удаляет строки из других таблиц - PullRequest
0 голосов
/ 04 июня 2019

В моей базе данных есть 3 таблицы важности: работа, логин и персонал. Задания действуют как таблица ссылок, содержащая как LoginID, так и StaffID. Я установил каскадирование через PHPMyAdmin, например так: enter image description here

Однако, когда я удаляю строку из таблицы заданий, она удаляет ТОЛЬКО из таблицы заданий, а не из соответствующих строк из заданий и таблицы входа. Что является причиной этого? Благодарю.

1 Ответ

1 голос
/ 04 июня 2019

Каскадирование идет другим путем. Когда вы говорите в таблице вакансий, что это относится к логину и персоналу и хотите каскадно удалять, это означает, что когда вы удаляете элемент в логин или staff , удаление будет каскадно в таблица заданий и все строки, ссылающиеся на эту строку в login или staff , также будут удалены.

Таким образом, в вашем случае рабочие места - это дочерний стол, а логин / персонал - родители. Вы не можете переходить с рабочих мест на учетную запись и персонал, потому что это будет переходить от ребенка к родителю.

...