如何将1列从一个数据库复制到另一个数据库,并在INSRT INTO语句中为第一个数据库中的另一列设置常量?

时间:2011-06-15 17:04:05

标签: mysql sql

我的database1包含table table1和3列:column1a,column1b,column1c 我有table2 with table table2和1列:column2a

我想将数据库2(从column2a)的值复制到database1 column1a,将column1b和column1c的其他值设置为某个常量值,例如。

INSERT INTO database1.table1 (column1a,'column1b' = 'apple','column1c'= 'orange') SELECT `column2a` FROM database2.table2;

然而,在fisrt部分,如果statemnt是3个值,而第二个只有1,所以我认为存在问题,这个说法很糟糕:(。

有关如何重写我的mysql语句的任何建议吗?

3 个答案:

答案 0 :(得分:5)

以下是解决方案:

INSERT INTO database1.table1 (column1a, column1b, column1c)
SELECT column2a, 'apple', 'orange' FROM database2.table2

答案 1 :(得分:4)

试试这个:

INSERT INTO `database1`.`table1` (`column1a`, `column1b`, `column1c`)
SELECT `column2a`, 'apple', 'orange' FROM `database2`,`table2`;

答案 2 :(得分:0)

如果列不同,我总是在下面取得成功:

USE `old_database`;
INSERT INTO `new_database`.`new_table`(`column1`,`column2`,`column3`)
SELECT `old_table`.`column2`, `old_table`.`column7`, `old_table`.`column5` 
FROM `old_table`