如何将数据库中所有表中的字段之一更改为新值?

Posted

技术标签:

【中文标题】如何将数据库中所有表中的字段之一更改为新值?【英文标题】:How to change one of the fields in all tables in the database to a new value? 【发布时间】:2020-06-16 08:24:33 【问题描述】:

我想更新数据库中所有表中字段的值。

例如:

我有 4 个表,它们都包含“价格”字段。

tbl_a | tbl_b | tbl_c | tbl_d
price | price | price | price  
 5    |  5    |   6   |   9
 6    |  6    |   7   |   10

将“6”更新为“11”。然后

新的

tbl_a | tbl_b | tbl_c | tbl_d
price | price | price | price  
 5    |  5    |  11   |   9
 11   |  11   |   7   |   10

这个sql怎么写?

【问题讨论】:

您正在使用哪个 RDBMS Oracle , MY SQL , SQL Server? 我正在使用mysql 【参考方案1】:

写四个update声明:

update tbl_a
    set price = 11
    where price = 6;

update tbl_b
    set price = 11
    where price = 6;

update tbl_c
    set price = 11
    where price = 6;

update tbl_d
    set price = 11
    where price = 6;

虽然 MySQL 允许多表更新,但不需要这种机制。如果您希望所有这些同时生效,您可以将updates 写入transaction。

【讨论】:

以上是关于如何将数据库中所有表中的字段之一更改为新值?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 C# 程序中的新值快速更新表中的所有行

如何更改数据库中每个字段的每个格式?

如何将 SQL 记录中的一个字段的值更改为另一个表中的值?

如何将数据库中的所有字段从 latin1_swedish_ci 更改为 utf8_general_ci?

将列名更改为 MySQL 表中的第一行

如何将子文档中的字段更改为 Mongoose 中的父字段