我不知道如何为此制定合适的标题。问题如下 - 团队经理可以将事件添加到我的网站中的组中,当添加事件时,已选择该组的成员需要作为与会者自动添加到事件中。问题在于,有些用户可能已经选择他们参加该活动,然后才将其添加到该组中,以便他们的记录与参与者一起存在表中,并且我的触发器上会出现Duplicate entry
错误。MySQL多行插入跳过现有记录
我想问一下如何在2列上仍然有一个主键 - 即不允许同一用户插入events_attendees
与event_id
相同,但在多插入的情况下仍插入其他行?
表组
group_id | group_name ...
表用户
user_id | user_name ...
表事件
event_id | event_name ...
表groups_members
group_id | user_id | autoJoinEvents
表groups_events
group_id | event_id
表events_attendees`
event_id | user_id
所讨论的触发器是groups_events
上AFTER INSERT
INSERT INTO events_attendees (event_id, user_id)
SELECT NEW.event_id, user_id
FROM groups_members
WHERE group_id = NEW.group_id AND autoJoinEvents = 1
,但我得到'blah blah检查代码对应于'IGNORE''旁边的blah blah – 2014-11-22 16:32:20
语法是'INSERT IGNORE ...'我冒昧地编辑你的答案。谢谢! – 2014-11-22 16:55:26
谢谢,我有种混合两种可能的方式来做到这一点。 INSERT IGNORE有一个小小的警告,但对于你的用例,它应该可以正常工作。 – amenadiel 2014-11-22 17:27:03