новый для DBA спасибо за подшипник со мной.MySQL Trigger Insert After with Выбрать запрос из другой таблицы
Обзор: У меня есть группы, подгруппы и пользователи.
- Пользователь может быть владельцем группы так должно быть владельцем всех ее подгрупп
- Пользователь может быть сотрудником или последователем группы так должно быть сотрудником или последователем всех ее подгрупп
- Пользователь может быть сотрудником или повторитель просто подгруппы
Таблицы являются следующие (упрощенно):
Группа (topic_id, название)
Подгруппа (subtopic_id, название, topic_id)
rel_Group (идентификатор_пользователя, topic_id, тип) // Для того, чтобы определить отношение пользователя к группе (владелец, Collaborator или ведомый)
rel_Subgroup (идентификатор_пользователь, subtopic_id, тип) // для того, чтобы определить отношение пользователя подгруппы (Владелец, коллаборатор или ведомый)
Пользователь (user_id)
Я хочу, чтобы создать триггер, когда подгруппа создается, что будет INSERT/UPDATE/DELETE строки в rel_Subgroup так что пользователи, которые владелец, коллаборатора или повторитель на группы с соответственно быть владельцем, Collaborator или последователь в подгруппе
Это ближайший я получил, но я все еще получаю: # 1415 - Не разрешено возвращать набор результатов с триггера.
SQL Query
delimiter //
create trigger Transfer_Rights_to_Subgroup
after insert
on Subgroup
for each row
begin
select user_id,type from rel_Group where rel_Group.topic_id = NEW.topic_id;
insert into rel_Subgroup VALUES (rel_Group.user_id,NEW.subtopic_id,rel_Group.type);
END; //
delimiter ;
Я надеюсь сортировать вставку и затем выяснить, обновление/удаление.
Любая помощь, высоко ценится!
ТНХ
Я думаю, что вы имели в виду: 'выбрать user_id, тип в @userid, @type из' * * rel_Group ** вместо ** группы ** правильно? Пробовал это, и у меня все еще возникает проблема, так как этот выбор возвращает более одного результата: _ «# 1172 - Результат состоял из нескольких строк» _ – Hardane