我的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语句的任何建议吗?
答案 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`