MySQL查询从不同数据库中的表更新一个表中的所有列

标签 mysql

我需要将一个表中的所有数据更新到另一个数据库中的相同表(布局方面)。这可能吗?到目前为止,我已经尝试了以下内容(仅名字,但理想情况下我想要所有列而不单独列出它们。)

我尝试修复的数据仅影响 50 到 266 之间的用户 ID

这给了我一个语法错误

UPDATE
   foundation-restore.archive,    foundation.archive   
SET
   foundation-restore.archive.FName = foundation.archive.FName  
WHERE
   foundation-restore.archive.user_id = foundation.archive.user_id    
   AND    foundation-restore.archive.user_id > 50    
   AND    foundation-restore.archive.user_id < 266

注意 - 数据位于不同数据库的同一布局表上

最佳答案

试试这个(适用于同一数据库的表,很可能不适用于不同的数据库)

UPDATE
   foundation-restore.archive INNER JOIN  foundation.archive
ON  foundation-restore.archive.user_id = foundation.archive.user_id 
SET
   foundation-restore.archive.FName = foundation.archive.FName  
WHERE foundation-restore.archive.user_id BETWEEN  50  AND 266;

关于MySQL查询从不同数据库中的表更新一个表中的所有列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30578767/

相关文章:

php - MySQL/PHP(外键错误?)

mysql - 如何在mysql中按时间戳排序?

php - Mysqltuner 优化配置和表、报告

javascript - Ajax 请求在页面刷新之前不会更新数据库

sql - Mysql选择行之间的最大差异

mysql - 为博客评论构建数据库表和行

MySQL基于单一条件删除

php - 如何检查和设置 max_allowed_pa​​cket mysql 变量

php - mysql 存储旧数据

mysql - 使用触发器时,SELECT LAST_INSERT_ID() 在 MySQL 5.6.11 上不使用 BIGINT