我有一个更新三个表的函数,但我使用三个查询来执行此操作。我希望使用更方便的方法进行良好实践。
如何在 MySQL 中使用单个查询更新多个表?
最佳答案
以 Books
和 Orders
这两个表为例。如果我们在 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/