2015-04-22 80 views
0

我一直在寻找一段时间,我不确定这是否允许在MySQL中。插入语句中的多个Select语句

我知道这是允许在mysql中

Insert into 'table' (column1, column2, column3) Select val1, val2, val3 From sometable

而且这个

Insert into 'table' (column1, column2, column3) Values (val1, val2, val3), (val1, val2, val3)

我不知道这是否尽管允许:

Insert into 'table' (column1, column2, column3) Select val1, val2, val3 From sometable, Select val1, val2, val3 From sometable

显然这给了我一个错误,是允许在MySQL?

+0

尝试'select .... UNION ALL select ...'只是一个预感,从未尝试过 –

回答

2

你可以试试它,它会失败。使用union all代替,

Insert into table (column1, column2, column3) 
    Select val1, val2, val3 From sometable 
    union all 
    Select val1, val2, val3 From sometable; 

我认为单引号在那里的某种效果,因为你说,前两个查询实际工作。