Bellicus
@Bellicus
И швец, и жнец, и на дуде игрец.

Автоматический set в mysql?

Допустим есть три базы: Users, Groups и связующая user-group.
В первых двух по два поля, id и name. В третьей три: id, uName, gName.
Поля uName и gName типа set.

А теперь вопрос.
Может кто знает, как при добавлении например пользователя с именем John, в таблицу user-group в поле uName имя автоматически добавлялось в набор (set('John'))? И вообще, существует ли такая возможность?

P.S. Не спрашивайте зачем и почему. Я понимаю, что логики здесь не много. Просто нужен пример, либо пути подобной реализации. И не надо, пожалуйста, советовать связывать по ключам. Я и так это прекрасно знаю.
  • Вопрос задан
  • 259 просмотров
Пригласить эксперта
Ответы на вопрос 3
Melkij
@Melkij
PostgreSQL DBA
Зачем set? Таблица связей типично состоит из пары внешних ключей на связываемые таблицы. Т.е. обычно два инта и составной первичный ключ.

Возможность есть понаписать триггер. Только сначала хотелось бы понять смысл.
Ответ написан
Комментировать
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
Можно, конечно, реализовать через триггер и ALTER TABLE, но вообще-то SET для этого не предназначен. SET и ENUМ используются когда список значений заранее известен и ограничен.
P.S. А что, у вас в этом поле могут быть все юзеры разом?
Ответ написан
Комментировать
@vshvydky
а зачем юзера вообще дублировать в 2 таблицы, имя пишется в юзера ,в юзергруп пишется ид из таблицы юзер
можно вообще юзергруп сделать не таблицей , а представлением. А еще можно иметь 2 таблицы, users - id, username, groupid и groups - id, groupname
и связь будет через users.groupid = groups.id
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы