问一个关于mysql的问题

写入一条数据到table1表里,同时把期中一个数据,更新到table2表里指定的字段里,怎么样写,才能保证两个都能写入成功,其中一个出错都不能写入。

事务回滚

两个操作处于同一个事务

有两种方案可以供你参考,第一种是使用mysql自带的事务处理,要么成功,要么失败。第二种是在业务中控制(程序中用写代码的方式),类似与分布式事务,往两张表中写数据肯定有一个先后顺序。根据写表的成功或失败有以下几种情况:table1失败,根据程序判断,直接返回,不用往table2写数据。table1成功,table2失败,此时用程序删除table1中的数据。

用第二种方式比较麻烦,而且要保证数据的一致性很困难,建议使用第一种方案。

sql 99语法:

update 表1 别名

inner|left|right join 表2 别名

on 连接条件

set 表1.id,表2.name,....

where 筛选条件;

不知道这种方式是否满足你要的需求?

回复不易,如果我的回复对你有所帮助的话,请记得采纳哦~