SQL中同时修改两个表里的字段

同时修改两个表里的字段如:t1表(a,b)t2表(a,c)我现在想要一条语句时间修改t1,t2表中的b,c两个字段请看好是一条语句各位大哥帮帮忙吧!谢谢!嵌套?怎么嵌套我... 同时修改两个表里的字段
如:t1 表(a,b)
t2 表(a,c)
我现在想要一条语句时间修改t1,t2表中的b,c两个字段
请看好是一条语句

各位大哥帮帮忙吧!谢谢!
嵌套?
怎么嵌套我现在就是没想明白这个事
能写具体点吗?

我就是不知道才问的嘛,知道我就不问了.
展开
 我来答
百度网友19c5533fd
2008-09-26 · TA获得超过2389个赞
知道小有建树答主
回答量:465
采纳率:0%
帮助的人:630万
展开全部
嘿嘿,本来也以为UPDATE 语句只可以对单表操作,
后来还是查了一下,发现MYSQL 可以对多表更新:
13.2.10. UPDATE Syntax
单表更新的语法:
Single-table syntax:

UPDATE [LOW_PRIORITY] [IGNORE] tbl_name
SET col_name1=expr1 [, col_name2=expr2 ...]
[WHERE where_condition]
[ORDER BY ...]
[LIMIT row_count]
多表更新的语法:
Multiple-table syntax:

UPDATE [LOW_PRIORITY] [IGNORE] table_references
SET col_name1=expr1 [, col_name2=expr2 ...]
[WHERE where_condition]

单表就不说了,下面讲讲多表:
For the multiple-table syntax, UPDATE updates rows in each table named in table_references that satisfy the conditions. In this case, ORDER BY and LIMIT cannot be used.

要英文不好看就看看例子吧:
UPDATE items,month SET items.price=month.price
WHERE items.id=month.id;

讲讲table_references:
其实就是一个连接方式:join;

你要多表做更新操作,肯定要把表关联起来。

你的例子中:
mysql> insert into abc(a) values('1');
Query OK, 1 row affected, 5 warnings (0.02 sec)

mysql> insert into def(a) values('1');
Query OK, 1 row affected, 5 warnings (0.00 sec)

mysql> select * from abc,def;
+------+---+---+---+---+---+------+---+---+---+---+---+
| a | b | c | e | f | g | a | b | c | e | f | g |
+------+---+---+---+---+---+------+---+---+---+---+---+
| 1 | | | | | | 1 | | | | | |
+------+---+---+---+---+---+------+---+---+---+---+---+
1 row in set (0.00 sec)

mysql> update abc,def set abc.b='hello',def.c='brother' where abc.a=def.a;
Query OK, 2 rows affected, 2 warnings (0.00 sec)
Rows matched: 2 Changed: 2 Warnings: 2

mysql> select * from abc,def;
+------+------+---+---+---+---+------+---+------+---+---+---+
| a | b | c | e | f | g | a | b | c | e | f | g |
+------+------+---+---+---+---+------+---+------+---+---+---+
| 1 | hell | | | | | 1 | | brot | | | |
+------+------+---+---+---+---+------+---+------+---+---+---+
1 row in set (0.00 sec)

如果你用其他数据库,也可以try 下。不知道支持不。
百度网友e425885af
2008-09-26 · TA获得超过7650个赞
知道大有可为答主
回答量:2940
采纳率:0%
帮助的人:2735万
展开全部
除非你自己开发一个新的数据语言标准,sql查询语言出现两代了,1976年出现sql第一代标准,1988年出现sql第二代标准,你都可以去查,从来不准许一句话中更新两张表,你究竟要问几次呢?
就连一代sql标准出现之前最早的数据操作语言data-pro语言也是不允许这种相当危险的操作的
如果你不信任网络上的回答,完全不必要在这里请教,你可以自己去看书。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
w2n0
2008-09-26 · 超过40用户采纳过TA的回答
知道小有建树答主
回答量:139
采纳率:0%
帮助的人:119万
展开全部
update 一次只能更新一个表 你只能分两条进行,但是你可以把第2条语句嵌套进去,形成一句命令
或则如果这两个表有关系的话你设置表的关联
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式