首页 > 解决方案 > SQL 从另一个表中替换一个表中的值

问题描述

我有两个表,我想用 table2 列中的值替换 table1 列中的部分值。

为了更好地解释: 在此处输入图像描述 我想将表 2 中的列“名称”中的值放入表 1 中 ID 为 3-9 的行中的列“名称”中。

我在 Mysql 工作台和 MariaDB 中工作。

标签: sqlmariadb

解决方案


最直接的方法是在SET子句中使用子查询。

UPDATE table1
       SET name = (SELECT t2.name
                          FROM table2 t2
                          WHERE t2.pid = table1.id)
       WHERE id >= 3
             AND id <= 9;

推荐阅读