Ограничение уникальности на основе значения столбца в связанной таблице - PullRequest
0 голосов
/ 21 ноября 2018

У меня есть 2 таблицы, назовем это users и groups.Некоторые группы по дизайну являются одиночными и должны иметь ровно одного пользователя, а некоторые группы могут иметь несколько пользователей.

users (
  id
)

groups (
  id
  name
  singleton
)

users_groups (
  user_id
  group_id
)

Есть ли способ применить ограничение уникальности, которое бы

  • не разрешать добавлять более одного пользователя в одноэлементные группы
  • удалять одноэлементные группы, когда удаляется только его единственный пользователь

1 Ответ

0 голосов
/ 21 ноября 2018

Используя триггеры, мы можем достичь этих условий.

Существует еще одна опция, которая заключается в реализации функциональности операций «вставка» и «удаление» в хранимых процедурах, которая также проверяет и удаляет одноэлементные группы, когда удаляется только его единственный пользователь, а также предотвращает добавление других.чем один пользователь в синглтон-группах

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...