首页 > 数据库 > mysql教程 > 如何根据另一个表的值更新 MySQL 表数据?

如何根据另一个表的值更新 MySQL 表数据?

Barbara Streisand
发布: 2025-01-17 04:47:09
原创
815 人浏览过

How to Update MySQL Table Data Based on Another Table's Values?

基于另一张表的数值更新 MySQL 表数据

假设您有两个结构相似的表,tableA 和 tableB:

id name value
1 Joe 22
2 Derk 30

任务是根据两表中匹配的 name 值,将 tableA 的 value 列的值复制到 tableB 的 value 列。

为此,您可以使用以下 MySQL UPDATE 语句:

<code class="language-sql">UPDATE tableB
INNER JOIN tableA ON tableB.name = tableA.name
SET tableB.value = tableA.value;</code>
登录后复制

此语句根据 name 列执行 tableA 和 tableB 之间的 INNER JOIN 操作,并使用 tableA 中对应的值更新 tableB 中的 value 列。

基于条件的动态值更新:

如果需要根据 tableA 中的值动态更新 tableB 中的 value 列,您可以使用以下方法:

<code class="language-sql">UPDATE tableB
INNER JOIN tableA ON tableB.name = tableA.name
SET tableB.value = IF(tableA.value > 0, tableA.value, tableB.value)
WHERE tableA.name = 'Joe';</code>
登录后复制

此处,IF() 函数检查 tableA.value 是否大于 0。如果为真,则将 tableB.value 设置为 tableA.value 的值;否则,保留 tableB 中的原始值。

以上是如何根据另一个表的值更新 MySQL 表数据?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板