php - 将某一列的数据替换为另一列的数据 相同表名、相同列名不同数据库名

标签 php mysql sql-update sql-insert

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

非常感谢任何解决该查询的帮助。

最佳答案

尝试一下,因为在我看来,您可能刚刚在语法上犯了一个小错误

您忘记放置 UPDATE {tableName} 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`;

关于php - 将某一列的数据替换为另一列的数据 相同表名、相同列名不同数据库名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27957396/

相关文章:

php - Symfony1 中组件的 Symfony2 等价物是什么?

php - 按每年唯一的月份分组,而不仅仅是月份

php - 火狐浏览器 : Open XLSX file not saving file butn opening binary

php - php中如何对评论的评论进行整理

mysql - 加入表格后从数据库中选择特定数量的随机行 - Laravel 5.1

mysql - 在具有内连接的更新查询中使用 SUM 函数

python - Postgres 更新表 -> 更改 text[] 中的子字符串

PHP/MYSQL 图片上传到链接到mysql的服务器

mysql - 如何将新的和更新的行从离线数据库复制到在线数据库?

sql - 具有两列的 T-SQL 顺序更新