Я хочу удалить соответствующие строки в staff
, login
и jobs
в зависимости от Staff.StaffID
, учитывая, что StaffID
и LoginID
являются внешними ключами в jobs
.Кроме того, StaffID
также является внешним ключом в login
.Когда я использую следующий запрос, я получаю сообщение об ошибке ограничения ключа foregin.Есть идеи?
SQL:
DELETE jobs, login, staff
FROM jobs
INNER JOIN login
WHERE login.LoginID=jobs.loginID
AND staff.StaffID = '18';
Очевидно, что это неполно.Я хотел продолжить ВНУТРЕННЕЕ СОЕДИНЕНИЕ до И для внутреннего входа в login.StaffID = staff.StaffID, а также staff.StaffID = jobs.JobID.Однако, когда я делаю это, я получаю сообщение об ошибке:
DELETE jobs, login, staff
FROM jobs
INNER JOIN login, staff
WHERE login.LoginID=jobs.LoginID
AND staff.StaffID=login.StaffID
AND staff.StaffID = login.LoginID
AND staff.StaffID = '18';
, которое выдает ошибку: "# 1451 - Невозможно удалить или обновить родительскую строку: ограничение внешнего ключа не выполняется (younglife
. login
, CONSTRAINT FK_59
ИНОСТРАННЫЙ КЛЮЧ (StaffID
) ССЫЛКИ staff
(StaffID
)) "
Я могу сказать, что это неэффективно, и мне было интересно, как лучше всего подойти к этому,Спасибо.