如果我想在mysql中一次性地在三个不同的表A,B,C中插入多行,但是当数据插入“C”表并且数据未插入表“C”但数据时出现错误插入表“A”和“B”。 现在我如何回滚表A和B以及如何将异常日志表示数据未插入表中 “C”。
答案 0 :(得分:0)
在执行任何查询之前,您必须set autocommit=0
。
在调用存储过程之后,如果在存储过程中发现错误,则不要调用
Con.Commmit()
con是Connection类的对象。
如果存储过程顺利运行,则调用Con.Commit(),这将影响所有表中不需要回滚它。