如何将某些列数据从第1个表移动到第2个表。并在单个查询中使用不同的数据填充第二个表的其他列

时间:2018-06-08 11:48:38

标签: mysql sql

我知道这个问题:

INSERT INTO table2 (column1, column2, column3)

SELECT column1, column2, column3,

FROM table1

WHERE condition; 

我们说,我在table2中至少有5列。我想从table1获取表2中前三列的数据。我可以使用上面的查询来完成此操作。但我还想用table2中的其他2列填充一些存储在变量中的数据。有没有办法这样做? 我想要这样的东西:

INSERT INTO table2 (column1, column2, column3,column4,column5)

VALUES(

SELECT column1, column2, column3,

FROM table1

WHERE condition 

, @dataForColumn4, @dataForColumn5)

1 个答案:

答案 0 :(得分:2)

您只需将它们包含在SELECT

INSERT INTO table2 (column1, column2, column3, column4, column5)
    SELECT column1, column2, column3, @column4, @column5
    FROM table1
    WHERE condition;