如何使用INSERT INTO查询

时间:2015-05-29 17:15:13

标签: mysql sql triggers drupal-7

The Base Table

所以这是我的问题,       我想将此表(webform_submitted_data)中的数据插入到anather表(feedback_Analysis)       我要复制的数据是 nid = 20和cid = 3,4,5 的数据       所以表格看起来像这样,

The feedback_analysis table

所以这就是我在做什么,

 insert into feedback_analysis (service,type,feedback) 
        values ((select data from webform_submitted_data where nid=20 and cid=5),(select data from webform_submitted_data where nid=20 and cid=3),(select data from webform_submitted_data where nid=20 and cid=4));

但是我收到了错误       错误1242(21000):子查询返回超过1行

我得到了背后的原因,子查询实际上返回了结果中的两行,单个 INSERT INTO 查询无法处理。

我想在表格中插入所有行,以便我可以进一步处理

所以请帮我找到解决方案。

我实际上想要应用一个触发器,一旦将新值nid = 20插入 weform_submitted_data feedback_analysis表 > 谢谢。

1 个答案:

答案 0 :(得分:0)

您可以使用LIMIT 1

insert into feedback_analysis (service,type,feedback) 
        values ((select data
                 from webform_submitted_data
                 where nid=20 and cid=5
                 limit 1),
                (select data
                 from webform_submitted_data
                 where nid=20 and cid=3
                 limit 1),
                (select data
                 from webform_submitted_data
                 where nid=20 and cid=4
                 limit 1));