将指定为逗号分隔字符串的集合插入表中

时间:2014-07-21 18:08:15

标签: mysql sql

概念 3表:

  • 事件(INT EventRid,Title,Desc,....)
  • 参与者(INT ParticipantRid,FirstName,LastName,Address ....)
  • ParticipantEventMap(INT refEventRid,INT refParticipantRid)

应用程序(没有重大的重写)将尝试提交有关事件的数据(每个事件表字段1个字段加上一个字段'参与者'这是一个以逗号分隔的ParticipantRid列表)。事件表中的字段很容易添加/更新,但我寻求提交查询的方法,该查询将执行以下操作:

INSERT INTO ParticipantEventMap (refEventRid,refParticipantRid)
VALUES (10003211,(Participants));

当然这是完全无效的SQL语法,其想法是将(10003211,(Participants))扩展为(10003211,ParticipantRid[1]),(10003211,ParticipantRid[2]),...

有没有办法将此作为SQL查询,或者我是否需要在提交单独的查询之前在PHP端执行所有修改?

1 个答案:

答案 0 :(得分:0)

INSERT IGNORE INTO ParticipantEventMap (
    SELECT 
        1002324 as refProgramEventRid,
        ParticipantRid as refParticipantRid 
    FROM Participants where ParticipantRid in (1,2,3,4)); 

因此,在PHP准备语句中用{EventID}和1,2,3,4替换{Participants}取代1002324,我得到了理想的结果!对于那些感兴趣的应用程序,我正在努力使这项工作是DHTMLx调度程序模块。