Допустим, у меня есть две таблицы - пользователя и PostSQL Server - Циклическая Каскад Путь
Я представил настроенное Регистрация таблицу Голосуйте иметь много-ко-многим между пользователем и Сообщение.
таблицы имеет следующую структуру:
- Пользователь (UseId, имя)
- Сообщение (сообщения дана, UserId, содержание)
- Голосуйте (Id, UserId, PostId, Value)
Примечания:
- подчеркнутая столбцы каждой таблицы является
PK
. UserId
в сообщении являетсяFK
к пользователя столом.- В
UserId
иPostId
столбцов в ГОЛОСУЕТ таблицыFK
к соответствующим таблицам. - Другие столбцы, такие как
Value
,Content
,Name
и т. Д. Являются varchar.
Учитывая выше конструкцию целесообразно (если нет, предложения приветствуются :) .....
Что я хочу:
- Если строка в сообщение Таблица удалена, связанная строка в Голосовать также следует удалить.
- Если строка в Пользователь Таблица удалена, соответствующая строка в Голосовать также следует удалить.
- Если строка в пользователя таблицы удаляется,
UserId
столбец соответстующих Его в сообщении должен быть установлен в NULL.
Могу ли я достичь таких отношений, без каких-либо Cyclic-Redundancy
? Если да, то как?
UPDATE:
Проверьте этот удивительный answer, если вы тоже столкнулись несколько путей каскада:
Вы забыли детали «ссылок», или я что-то упустил? –
@MikeNakis. , , Спасибо. –
@GordonLinoff Я пробовал каскадные внешние ключи, но в итоге я получил циклические избыточности. Я попробую это по-своему и посмотрю :) –