2015-01-15 50 views
0

将prestashop的较早版本更新为较新版本。无法创建查询以将列数据从源数据库迁移到目标数据库(相同的列和表名称,不同的数据库名称)。用另一列的数据替换列的数据相同的表名,相同的列名不同的数据库名称

换句话说,我需要用源列的数据替换目标列的数据。这是查询我到目前为止:

INSERT INTO `destination_db`.`destination_table` 
Select * FROM `source_db`.`source_table` 
on duplicate key UPDATE `destination_db`.`destination_table`.`destination_colum`=`source_db`.`source_table`.`source_column`; 

运行查询后,这是结果:MySQL返回的查询结果为空(即零行)

任何帮助修复查询真正的赞赏。

+0

当你只是运行在source_db“SELECT * SELECT语句FROM会发生什么'source_db'.'source_table' –

回答

0

试试这个,因为它在我看来,你可能刚刚犯了个小错误跟你的语法

你忘了把UPDATE {}表名集合{列} = {} sourceColumn。

INSERT INTO `destination_db`.`destination_table` (`destination_db`.`destination_table`.'destination_column1',`destination_db`.`destination_table`.'destination_column2',`destination_db`.`destination_table`.'destination_column3') 
SELECT 
     `source_db`.`source_table`.'source_column1', 
     `source_db`.`source_table`.'source_column2', 
     `source_db`.`source_table`.'source_column3'  
FROM 
     `source_db`.`source_table` 
ON 
    DUPLICATE KEY 
      UPDATE `destination_db`.`destination_table`.`destination_column1`=`source_db`.`source_table`.`source_column1`; 
+0

感谢快速回复罗比!执行查询并且这是结果:“MySQL返回了一个空的结果集(即零行)”任何想法? –

+0

主要来源选择* FROM source_db.source_table语句返回什么? –

+0

您知道在清除缓存后,它看起来有效! –

相关问题