今天介绍下Mysql事务回滚机制,说说mysql事务回滚应该怎么处理。
首先,MYSQL中只有INNODB和BDB类型的数据表才能支持事务处理!其他的类型是不支持的!
如果数据表已经存在,并非如下所述的两种类型,应该如何处理呢?
解决方法:
1、找一个叫MySQL-Front的软件,里面能更改表类型。
2、可以通过SQL语句来更改,sql语句可以这样写:
ALTER TABLE TABLENAME type = InnoDB;
将需要修类型的表全更改完成后,开始Mysql事务回滚的操作:
<?php //mysql事务回滚 mysql_query("BEGIN"); //或者mysql_query("START TRANSACTION"); $sql = "INSERT INTO ..."; $sql2 = "INSERT INTO ..."; $res = mysql_query($sql); $res1 = mysql_query($sql2); if($res && $res1){ mysql_query("COMMIT"); echo '提交成功。'; }else{ mysql_query("ROLLBACK"); echo '数据回滚。'; } //by www.jb200.com mysql_query("END"); ?>
用PHP来处理mysql的事务回滚,就是如此简单,还等什么,抓紧测试下吧。