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

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

DDD
发布: 2025-01-17 05:01:10
原创
426 人浏览过

How to Update a MySQL Column's Value Based on Data from Another Table?

MySQL:根据另一张表的数据更新列值

问题:

假设有两张结构相似的表:

id name value
1 Joe 22
2 Derk 30

任务是根据匹配的“name”值,使用表A中的值更新表B中的“value”列。

解决方案:

可以使用带有 JOIN 子句的 SQL UPDATE 语句来执行此更新操作。以下是一个可能的查询:

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

此查询将根据“name”列,更新表B中与表A匹配的所有行的“value”列。

动态值更新:

您可以修改查询,以根据表A.value中的值动态更新表B.value。例如,以下查询仅当表A.value大于0时才更新表B.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>
登录后复制

在此示例中,只有当表A中的值大于0时,表B中“name”为“Joe”的行中的“value”列才会使用表A中的值进行更新。否则,表B中的现有值将保持不变。

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

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