MySQL:通过其他表中的值更新列值

Posted

技术标签:

【中文标题】MySQL:通过其他表中的值更新列值【英文标题】:MySQL: Update column values by values from from other table 【发布时间】:2020-10-12 10:06:40 【问题描述】:

有 2 个 mysql 表:

table1
id   name   phone

table2
id   phone

记录数 > 200 亿。

如何通过 table2.phone where table1.id = table2.id 的值更新 table1.phone?

我的版本是:

mysql  Ver 15.1 Distrib 5.5.64-MariaDB, for Linux (x86_64) using readline 5.1

【问题讨论】:

id 中的table2 是唯一的吗? 记录数 > 200 亿。 每个表中? Akina,是的,在 table1 和 table2 中是唯一的 【参考方案1】:

您似乎想要update ... join 语法:

update table1 t1
inner join table2 t2 on t1.id = t.id
set t1.phone = t2.phone

【讨论】:

以上是关于MySQL:通过其他表中的值更新列值的主要内容,如果未能解决你的问题,请参考以下文章

通过 postgresql 中的其他列值更新列值

如何将列值从存储过程中的另一个表更新到表中?

mysql如何根据一列值更新另一列的值?

MySQL 触发器 - 复制新的。插入的数据与现有的列值进行比较,如果它们匹配,则将它们插入到其他表中

如何从其他表中更新表中的值

MySQL - 根据更新其他表列值触发更新列值