MYSQL在Insert中使用子查询结果

时间:2015-03-19 00:21:03

标签: mysql database

我想将一些数据插入到另一个表中。特别是,我从表guest_list_parties中获取了一些ID值,并希望将这些值传递给表guest_list_parties_secondary。

party_id是子查询返回的内容; 2031是我希望与每条记录一起传递的secondary_event_id。

但是,MYSQL报告错误,说明:      '子查询返回超过1行'

我的代码:

INSERT INTO guest_list_parties_secondary (party_id, secondary_event_id)

VALUES((SELECT id
FROM guest_list_parties
WHERE event_id = 31919),2031)   

非常感谢任何帮助/指导。

1 个答案:

答案 0 :(得分:2)

您的insert语句需要提供两列:party_idsecondary_event_idVALUES()需要字面值,您应​​该在查询中明确选择2031

INSERT INTO guest_list_parties_secondary (party_id, secondary_event_id)
SELECT id, 2031
FROM guest_list_parties
WHERE event_id = 31919;