У меня 1 .. * отношение между Пользователь и Пост .(у одного пользователя много сообщений)
В сообщении есть FK с именем "UserId", который отображается в поле "UserId" в таблице User .
Я пытался установить этот FK как Cascade UPDATE / DELETE, но я получаю эту ошибку:
Таблица пользователей успешно сохранена. Таблица сообщений - Невозможно создать связь FK_Posts_Users.
Введение ограничения FOREIGN KEY 'FK_Posts_Users' в таблицу 'Posts' может привести к циклам или нескольким каскадным путям.Укажите ON DELETE NO ACTION или ON UPDATE NO ACTION, либо измените другие ограничения FOREIGN KEY.Не удалось создать ограничение.См. Предыдущие ошибки.
У меня есть таблица с именем PostHelpful. В одном сообщении много полезных.
У полезного есть каскадный FK для пользователя (например, когда пользовательудаляются, их полезные сообщения также удаляются).
Но я думаю, что это является причиной жалобы на "несколько каскадных путей".
Потому что, если я удаляю пользователя (в настоящее время), он будетудалите их полезности.Но я пытаюсь также добавить каскад в сообщение, сделайте так, чтобы оно удалило сообщение, затем попытайтесь удалить полезные для этого сообщения (поскольку у полезного также есть каскадный FK для публикации).В этом сценарии какой каскадный FK выберет SQL?
Вот диаграмма базы данных трех рассматриваемых таблиц:
Как видите, "PostHelpful "является дочерним по отношению к" Post "и" User "(имеет FK для обоих).
То есть я не могу сделать оба ключа каскадными?Нужен ли мне триггер для «Пользователи» (ПОСЛЕ УДАЛЕНИЯ), чтобы вручную удалить подсказки (и другие таблицы, ссылающиеся на Пользователя).