mysql - 如何通过单个mysql查询更新多个表?

标签 mysql database

我有两个表 tb1 和 tb2 我必须更新两个表的公共(public)列,即 user_level 我对两个表都有一个共同的标准,比如用户名。

所以我想这样更新:

UPDATE tb1, tb2 SET user_level=1 WHERE username="Mr.X"

但不知何故它不起作用。 正确的 mysql 查询是什么?

最佳答案

试试这个:

UPDATE table_1 tb1, 
       table_2 tb2, 
       table_3 tb3 
SET    tb1.field2 = "some value", 
       tb2.field3 = "some other value", 
       tb3.field4 = "some another value" 
WHERE  tb1.field1 = tb2.field1 
       AND tb1.field1 = tb3.field1 
       AND tb1.field1 = "value" 

我在 MSAccess 和 SQL SERVER 2008 上测试了代码

关于mysql - 如何通过单个mysql查询更新多个表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20208350/

相关文章:

php - 2 个使用 PHP 的表单。一种用于添加,一种用于添加更改

MySQL 如何选择今天前 7 天和过去 1 小时的日期字段

mysql - 如何根据我选择的表创建一个 "default value column"的新表?

database - 如何在 Clusterpoint DB 中搜索全文匹配?

database - SQL Server 数据库架构

mysql - STI、子类和失败的验证

php - CodeIgniter - 从 n-2-n 关系表中获取并显示数据

mysql - 数组字段存入MySQL数据库

database - 归一化 3NF 和 BCNF

mysql - 如何将当前周过滤为日期范围