📜  mysql 一次更新两个表 - SQL (1)

📅  最后修改于: 2023-12-03 15:17:46.713000             🧑  作者: Mango

MySQL 一次更新两个表

在 MySQL 中,可以通过使用 JOIN 操作在一次查询中更新多个表的数据。本文将介绍如何一次更新两个表的数据。

使用 JOIN 操作进行更新

假设我们有两个表:usersorders。其中,users 表包含用户信息,如下所示:

| id | name | | ---- | ---- | | 1 | Tom | | 2 | Jerry |

orders 表包含订单信息,如下所示:

| id | user_id | product | | ---- | ---- | ---- | | 1 | 1 | Apple | | 2 | 2 | Banana |

现在我们想要更新 users 表和 orders 表中的数据,假设我们要将所有用户的名字改为 Kitty。我们可以使用 JOIN 操作将两个表连接起来,然后进行一次更新操作,如下所示:

UPDATE users
INNER JOIN orders
ON users.id = orders.user_id
SET users.name = 'Kitty', orders.product = 'Orange';

执行该语句后,users 表和 orders 表的数据将会同时更新。users 表中的数据如下所示:

| id | name | | ---- | ---- | | 1 | Kitty | | 2 | Kitty |

orders 表中的数据如下所示:

| id | user_id | product | | ---- | ---- | ---- | | 1 | 1 | Orange | | 2 | 2 | Orange |

总结

通过使用 JOIN 操作,我们可以在一次查询中更新多个表的数据。这种方法非常方便,可以帮助我们提高更新数据的效率。