sql中 一条update语句如何更新两个表的中数据?

update a,b set a.id=1,b.id=2;
同时更新表a的id列和表b的id列的值。

我想实现同时更新。
update a set a.id=1;
update b set b.id=2;
这两个更新语句我想实现同时更新。如果其中的一条语句没有执行成功,那么另外一个语句就不要执行。
要不就全部执行成功。

如果同步更新两个表中的数据

可以使用insteadof触发器
这种触发器就是用来在更新视图的时候同时更新多个表数据的。追问

难道只能用触发器 比较好实现

追答

你要一个update更新两个表中的数据,要么用视图,要么直接引用两个表的属性来修改
前者视图本身是不允许修改基本表的,所以得用insteadof触发器来处理
后者就跟上述的一样,直接update a set a.id=1; update b set b.id=2;

温馨提示:内容为网友见解,仅供参考
第1个回答  2017-04-26
mysql可以使用:
UPDATE RY,
dd
SET ry.XX = '哈佛',
ry.DZ = '美国',
dd.XX = '哈佛',
dd.DZ = '美国'
WHERE
dd.IDS = 'aaa'
AND dd.BH = ry.BH
第2个回答  2014-12-03
update a,b set a.id=1,b.id=2;追问

这个可以运行吗

相似回答