将一列的数据替换为另一列的数据 相同的表名,相同的列名 不同的数据库名称


Replace data of a column with data of another column same table names, same column names different databases names

将旧版本的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 返回一个空结果集(即零行)

非常感谢任何帮助修复查询。

试试这个,因为在我看来,你可能只是在语法上犯了一个小错误

你忘了把更新 {表名称} SET {column} = {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`;