MySQL,一次查询更新多个表

标签 mysql sql sql-update

我有一个更新三个表的函数,但我使用三个查询来执行此操作。我希望使用更方便的方法进行良好实践。

如何在 MySQL 中使用单个查询更新多个表?

最佳答案

BooksOrders 这两个表为例。如果我们在 Orders 表中使用 Order.ID = 1002 以特定顺序增加书籍的数量,那么我们还需要减少可用的书籍总数我们在 Books 表中的存货数量相同。

UPDATE Books, Orders
SET Orders.Quantity = Orders.Quantity + 2,
    Books.InStock = Books.InStock - 2
WHERE
    Books.BookID = Orders.BookID
    AND Orders.OrderID = 1002;

关于MySQL,一次查询更新多个表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4361774/

相关文章:

sql - 无法使用 ADSI 从 SQL 查询描述

mysql - SQL 和分组查询

php - 更新另一个表中单个列的所有行

mysql - 将一张表的数据插入另一张表

mysql - Ejabberd MySQL 模式

mysql - 如何在 phpMyAdmin 中查看我的存储过程?

mysql - 从 Prestashop 数据库更新数量

php - INT 的 GET 参数不想更新

Mysql 和高 CPU IO 等待

mysql - 如何将 Time.zone 设置为 UTC 并保持这种状态?