Insert语句中的多个Select语句

时间:2015-04-22 23:21:12

标签: php mysql database

我一直在寻找一段时间,我不确定mysql中是否允许这样做。

我知道这在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中?

1 个答案:

答案 0 :(得分:2)

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

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

我认为单引号是有某种效果的,因为你说前两个查询实际上有效。