【发布时间】:2014-12-02 11:12:28
【问题描述】:
如果我想通过mysql中的过程一次在三个不同的表A、B、C中插入多行,但是当数据插入“C”表并且数据不是插入表“C”而是数据时出现错误插入到表“A”和“B”中。 现在我如何回滚表 A 和 B 以及如何放置异常日志以表明数据未插入表中 “C”。
【问题讨论】:
-
您希望我们为您编写整个脚本吗?
标签: mysql database stored-procedures
如果我想通过mysql中的过程一次在三个不同的表A、B、C中插入多行,但是当数据插入“C”表并且数据不是插入表“C”而是数据时出现错误插入到表“A”和“B”中。 现在我如何回滚表 A 和 B 以及如何放置异常日志以表明数据未插入表中 “C”。
【问题讨论】:
标签: mysql database stored-procedures
在执行任何查询之前,您必须set autocommit=0。
在调用存储过程之后,如果存储过程中发现错误,请不要调用
Con.Commmit()con 是 Connection 类的对象。
如果 Store 过程顺利运行,则调用 Con.Commit() 这将影响所有表,您无需回滚它。
【讨论】: