mysql - 通过不同数据库更新列

标签 mysql sql-update

我有两个数据库 3dside3dside_old。我想从 3dside_old 更新 3dside 中的一列,其中两个字段相同 (cases.id_cases)。

我尝试过类似的事情:

UPDATE cases SET hospital_id = (SELECT hospital_id FROM 3dside_old.cases)   
WHERE 3dside.cases.id_cases = 3dside_old.cases.id_cases;

但是我有错误代码:1054。“where 子句”中存在未知列“3dside_old.cases.id_cases”

如何在 where 子句中声明另一个数据库?

我对 MySQL 还很陌生,如果答案对你来说很简单,我很抱歉

最佳答案

您可以使用 JOIN 并为表指定别名,以更好的方式做到这一点

update `3dside`.`cases` c1
join `3dside_old`.`cases` c2 on c2.id_cases = c1.id_cases
set c1.hospital_id = c2.hospital_id

关于mysql - 通过不同数据库更新列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29511593/

相关文章:

php - 对于mysql查询,将字符串转换为INTEGER是否更好

mysql - 聚集索引、mysql 和 Rails

python - SQLAlchemy 在一个事务中更新多行

MySQL存储过程变量问题

mysql - 被Mysql查询卡住了

MySQl - 通过计算其他表中的数据来更新字段

sql - 使用另一个表的记录作为 WHERE 参数更新一个表中的记录

sql - 更新 SELECT 输出的行的列

MySQL:如何使用过滤向量列表进行更新?

php - 如何拆分 mySQL 信息以在 HTML 列中显示