从一行中的多个表更新变量

时间:2014-04-01 19:08:29

标签: mysql set sql-update mariadb

我有两个数据库,我需要UPDATE变量'生日'从一行到另一行检查姓名' (从db1到db2)。

问题是,那个名字'第二个db中的变量位于另一个表(table2)中。 使用' id'可以在不改变数据库结构的情况下执行此操作。从db2到同步的变量?

UPDATE `db1`.`table1`, `db2`.`table2` SET `db2`.`table1`.`birthday` = `db1`.`table1`.`birthday` WHERE `db2`.`table1`.`name` ... 

方案:

 db1-> table1 -> name,birthday
 db2-> table1 -> name,id     
       table2 -> birthday,id

1 个答案:

答案 0 :(得分:0)

UPDATE `db.1`.table1 AS t11
JOIN `db.2`.table1 AS t21 ON t11.name = t21.name
JOIN `db.2`.table2 AS t22 ON t21.id = t22.id
SET t11.birthday = t22.birthday