我在我的存储过程中执行10个查询。如何处理Mysql数据库中的事务处理。当我的数据库被中断?
在执行第5个查询后,我的数据库被中断,并且执行了它。
我的第5个查询更新database.so我不得不回滚所有5查询的执行。
如何解决这类问题?
我在我的存储过程中执行10个查询。如何处理Mysql数据库中的事务处理。当我的数据库被中断?
在执行第5个查询后,我的数据库被中断,并且执行了它。
我的第5个查询更新database.so我不得不回滚所有5查询的执行。
如何解决这类问题?
默认的MySQL表类型是MyISAM,它不支持事务。幸运的是还有另一种类型的InnoDB,它支持事务。转换的表型是很容易的:
http://dev.mysql.com/doc/refman/5.0/en/converting-tables-to-innodb.html
,使查询做到这一点的时候:
START TRANSACTION
// do whatever queries you want to
// if there are no errors
COMMIT
// if there are errors
ROLLBACK
回滚之后,你的数据库将恢复到它在你所谓的启动点的状态交易。本教程应该帮助更多一些:
http://www.devshed.com/c/a/MySQL/Using-Transactions-In-MySQL-Part-1/
注:不能使用FULLTEXT查询与InnoDB表。
使用InnoDB事务。开始交易...提交。见doc。
良好的回应,并明确的想法.....了解它 – TinTin 2010-05-12 14:35:03
Thx。 :)不知道我的答案是否清楚,但事务是否执行COMMIT或ROLLBACK不是自动的事情;您必须执行错误检查并采取任何适合的操作。 – Mathew 2010-05-12 14:58:40