2
Может ли один объяснить, почему следующее не работает на MySql (дает ошибку синтаксиса в настоящее время):Внешний ключ, ссылающийся на собственную таблицу?
create table manager
(
employee_name varchar(20) not null,
manager_name varchar(20) not null,
primary key employee_name,
foreign key (manager_name) references manager
on delete cascade
)
также, предполагая, что он сделал работу, что произойдет, когда кортеж в менеджере отношения удаляется?
Что касается того факта, что эта таблица ссылается на себя, будет ли БД пытаться удалить запись дважды? – rrazd
удалит ссылку менеджера (все ссылки на внешние ключи), а затем удалит запись сотрудника. Но в идеальном бизнес-случае вы не захотите делать каскадное удаление. Мое предложение состоит в том, что вам придется заменить всех сотрудников другим именем менеджера, а затем удалить эту запись. Поэтому это удаление должно быть позабочено о вашей бизнес-логике. – Slowcoder