Mysql中出现数据回滚错误如何解决

介绍

今天就跟大家聊聊有关Mysql中出现数据回滚错误如何解决,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

<强> 1,用开始,回滚,提交来实现
开始开始一个事务
滚事务回滚
提交事务确认

<强> 2,直接用组来改变Mysql的自动提交模式
Mysql默认是自动提交的,也就是你提交一个查询,它就直接执行!我们可以通过
来实现事务的处理。

当你用设置自动提交=0的时候,你以后所有的SQL都将做为事务处理,直到你用承诺确认或回滚结束。

注意当你结束这个事务的同时也开启了个新的事务!按第一种方法只将当前的作为一个事务!
个人推荐使用第一种方法。

Mysql中只有INNODB和BDB类型的数据表才能支持事务处理!其他的类型是不支持的!
* * *:一般Mysql数据库默认的引擎是MyISAM,这种引擎不支持事务!如果要让Mysql支持事务,可以自己手动修改:

<强> 1。修改c:为其提供appserv \ Mysql拥有\ \ my.ini文件,找到skip-InnoDB,在前面加上#,后保存文件。

2。在运行中输入:services.msc,重启Mysql服务。

3。到phpmyadmin中,Mysql→显示引擎;(或执行Mysql→显示变量如& # 39;have_ % & # 39;;),查看INNODB为是的,即表示数据库支持INNODB了。
也就说明支持事务事务了。

4。在创建表时,就可以为存储引擎选择InnoDB引擎了。如果是以前创建的表,可以使用mysql→alter table table_name类型=InnoDB;
或mysql→alter table table_name引擎=InnoDB;来改变数据表的引擎以支持事务。
<强>/*方法一*/

代码如下:


/* * * * * * * * * * * * * * *交易,1 * * * * * * * * * * * * * * */
$康涅狄格州=mysql_connect (& # 39; localhost # 39; & # 39;根# 39;,& # 39;根# 39;)或死亡(“数据连接错误! ! !“);
mysql_select_db(& # 39;测试# 39;,康涅狄格州美元);
mysql_query(“组名称& # 39;gbk # 39;“);//使用GBK中文编码;
//开始一个事务
mysql_query (“BEGIN");//或者mysql_query(“开始TRANSACTION");
$ sql=安迦搿坝没А?“id”,“用户名”,“性”)值(NULL, & # 39; test1 # 39;, & # 39; 0 & # 39;)“;
$ sql2=安迦搿坝没А?“做了”,“用户名”,“性”)值(NULL, & # 39; test1 # 39;, & # 39; 0 & # 39;)“;//这条我故意写错
$ res=mysql_query ($ sql);
res1=mysql_query (sql2美元);美元,
if ($ res,,res1美元){
mysql_query (“COMMIT");
回声& # 39;提交成功强生# 39;;
}其他{
mysql_query (“ROLLBACK");
回声& # 39;数据回滚强生# 39;;
}
mysql_query(“以何种);


<强>/*方法二*/

代码如下:


/* * * * * * * * * * * * * * * *交易,2 * * * * * * * * * * * * * * * * * * */
mysql_query(“设置自动提交=0,);//设置mysql不自动提交,需自行用提交语句提交
$ sql=安迦搿坝没А?“id”,“用户名”,“性”)值(NULL, & # 39; test1 # 39;, & # 39; 0 & # 39;)“;
$ sql2=安迦搿坝没А?“做了”,“用户名”,“性”)值(NULL, & # 39; test1 # 39;, & # 39; 0 & # 39;)“;//这条我故意写错
$ res=mysql_query ($ sql);
res1=mysql_query (sql2美元);美元,
if ($ res,,res1美元){
mysql_query (“COMMIT");
回声& # 39;提交成功强生# 39;;
}其他{
mysql_query (“ROLLBACK");
回声& # 39;数据回滚强生# 39;;
}
mysql_query(“以何种);//事务处理完时别忘记mysql_query(“设置自动提交=1“);自动提交

看完上述内容,你们对Mysql中出现数据回滚错误如何解决有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注行业资讯频道,感谢大家的支持。

Mysql中出现数据回滚错误如何解决