如何将一个表与一些其他数据复制到另一个表中

问题描述 投票:0回答:2

我想将列从table1复制到table2,并在table2中添加一些附加列。

尽管我知道语法:

INSERT INTO table2
SELECT * FROM table1
WHERE condition;

但是如何将其他列的数据添加到table2中?

我已经尝试过这种方法,但是会产生语法错误:

// first storing the desired data from table1 into a temporary table
CREATE TEMPORARY TABLE temp_table 
select column1, column2, column3 from table1 
where condition;

// then placing the selected columns into table2
INSERT INTO table2 (col1, col2, col3,col4) values (
SELECT column1 FROM temp_table, 
SELECT column2 FROM temp_table, 
SELECT column3 FROM temp_table, 
'Additional Value'
);
mysql sql database sql-insert
2个回答
1
投票

您可以将乱抛垃圾的字符串(或任何其他表达式)添加到列列表中。考虑:

INSERT INTO table2 (col1, col2, col3,col4)
SELECT
    column1,
    column2,
    column3,
    'Additional Value'
FROM table1

0
投票

请,按照以下查询,您可以将别名用作额外的列静态或表达式字段:(SQL-Fiddle

INSERT INTO table2 (col1, col2, col3, col4)
 SELECT column1, column2, column3, 'Additional Value' as column4
 FROM table1
 WHERE condition;
© www.soinside.com 2019 - 2024. All rights reserved.