数码资讯
MySQL数据回滚错误的解决方案分析
MySQL中有两种主要的事务处理方法。 1。用开始、回滚、提交实现它 开始事务 回滚事务回滚 提交交易验证 2,直接更改MySQL的自动提交模式 MySQL是默认自动提交的,也就是说,如果提交查询,它将直接执行!我们可以通过 设置自动提交= 0禁止自动提交 设置自动提交= 1打开自动提交 实现事务处
选购提示
关注价格、性能、续航、售后和真实使用场景,理性比较后再下单。
MySQL中有两种主要的事务处理方法。
1。用开始、回滚、提交实现它
开始事务
回滚事务回滚
提交交易验证
2,直接更改MySQL的自动提交模式
MySQL是默认自动提交的,也就是说,如果提交查询,它将直接执行!我们可以通过
设置自动提交= 0禁止自动提交
设置自动提交= 1打开自动提交
实现事务处理。
当你使用自动提交= 0,所有你以后的SQL会事务处理直到你使用提交确认或结束与回滚。
请注意,当结束此事务时,还将打开一个新事务!根据第一种方法,只有当前的方法用作事务!
个人推荐第一种方法!
只有InnoDB和BDB型数据表在MySQL支持事务处理是可用的!不支持其他类型!
*:对于一般的MySQL数据库默认的搜索引擎是MyISAM,这个引擎不支持事务!如果您希望MySQL支持事务,您可以自己手动修改它:
方法如下:
1。修改C: APPSERV MySQL my.ini文件,找到跳过InnoDB,在前面加#,保存文件后。
2。在运行中输入:services.msc,重启mysql服务。
三.在phpMyAdmin,MySQL ->显示发动机;(或执行MySQL ->显示变量like'have_ %;),看到InnoDB为是的,这意味着数据库支持InnoDB。
它还解释了事务事务的支持。
4。创建一个表时,您可以选择存储引擎InnoDB引擎。如果是以前创建的表,你可以使用MySQL ->修改表table_name InnoDB类型=;
或MySQL ->修改表table_name InnoDB引擎=;改变数据表的引擎支持事务。
***的一种方法
复制代码代码如下所示:
/ ***************交易1 *************** /
美元mysql_connect conn =('localhost ','root ','root)或死亡(数据连接错误!!!;
mysql_select_db(测试,为CONN);
mysql_query(设置names'gbk); / / GBK汉字编码;
启动事务
mysql_query(开始);/ /或mysql_query(开始交易);
为SQL =插入`用户`(` ID `,`用户名`,`性`)值(null,'test1'、‘0');
$ SQL2 =插入`用户`(`做`,`用户名`,`性`)值(null,'test1 ','0'); / /我故意错
RES = mysql_query美元($ SQL);
mysql_query RES1 =美元($ SQL2);
如果($ RES $ RES1){
mysql_query(提交);
回声'提交成功';
其他{ }
mysql_query(回滚);
回声数据回滚;
}
mysql_query();
方法二
复制代码代码如下所示:
/ ****************交易2 ******************* /
mysql_query(设置自动提交= 0 / /套);MySQL不会自动提交,需要使用COMMIT语句提交
为SQL =插入`用户`(` ID `,`用户名`,`性`)值(null,'test1'、‘0');
$ SQL2 =插入`用户`(`做`,`用户名`,`性`)值(null,'test1 ','0'); / /我故意错
RES = mysql_query美元($ SQL);
mysql_query RES1 =美元($ SQL2);
如果($ RES $ RES1){
mysql_query(提交);
回声'提交成功';
其他{ }
mysql_query(回滚);
回声数据回滚;
}
mysql_query(端); / /别忘了mysql_query交易结束(设置自动提交= 1 );自动提交
1。用开始、回滚、提交实现它
开始事务
回滚事务回滚
提交交易验证
2,直接更改MySQL的自动提交模式
MySQL是默认自动提交的,也就是说,如果提交查询,它将直接执行!我们可以通过
设置自动提交= 0禁止自动提交
设置自动提交= 1打开自动提交
实现事务处理。
当你使用自动提交= 0,所有你以后的SQL会事务处理直到你使用提交确认或结束与回滚。
请注意,当结束此事务时,还将打开一个新事务!根据第一种方法,只有当前的方法用作事务!
个人推荐第一种方法!
只有InnoDB和BDB型数据表在MySQL支持事务处理是可用的!不支持其他类型!
*:对于一般的MySQL数据库默认的搜索引擎是MyISAM,这个引擎不支持事务!如果您希望MySQL支持事务,您可以自己手动修改它:
方法如下:
1。修改C: APPSERV MySQL my.ini文件,找到跳过InnoDB,在前面加#,保存文件后。
2。在运行中输入:services.msc,重启mysql服务。
三.在phpMyAdmin,MySQL ->显示发动机;(或执行MySQL ->显示变量like'have_ %;),看到InnoDB为是的,这意味着数据库支持InnoDB。
它还解释了事务事务的支持。
4。创建一个表时,您可以选择存储引擎InnoDB引擎。如果是以前创建的表,你可以使用MySQL ->修改表table_name InnoDB类型=;
或MySQL ->修改表table_name InnoDB引擎=;改变数据表的引擎支持事务。
***的一种方法
复制代码代码如下所示:
/ ***************交易1 *************** /
美元mysql_connect conn =('localhost ','root ','root)或死亡(数据连接错误!!!;
mysql_select_db(测试,为CONN);
mysql_query(设置names'gbk); / / GBK汉字编码;
启动事务
mysql_query(开始);/ /或mysql_query(开始交易);
为SQL =插入`用户`(` ID `,`用户名`,`性`)值(null,'test1'、‘0');
$ SQL2 =插入`用户`(`做`,`用户名`,`性`)值(null,'test1 ','0'); / /我故意错
RES = mysql_query美元($ SQL);
mysql_query RES1 =美元($ SQL2);
如果($ RES $ RES1){
mysql_query(提交);
回声'提交成功';
其他{ }
mysql_query(回滚);
回声数据回滚;
}
mysql_query();
方法二
复制代码代码如下所示:
/ ****************交易2 ******************* /
mysql_query(设置自动提交= 0 / /套);MySQL不会自动提交,需要使用COMMIT语句提交
为SQL =插入`用户`(` ID `,`用户名`,`性`)值(null,'test1'、‘0');
$ SQL2 =插入`用户`(`做`,`用户名`,`性`)值(null,'test1 ','0'); / /我故意错
RES = mysql_query美元($ SQL);
mysql_query RES1 =美元($ SQL2);
如果($ RES $ RES1){
mysql_query(提交);
回声'提交成功';
其他{ }
mysql_query(回滚);
回声数据回滚;
}
mysql_query(端); / /别忘了mysql_query交易结束(设置自动提交= 1 );自动提交
声明:本文内容用于数码产品信息整理与选购参考,具体价格、库存、售后政策以官方渠道和电商页面实时信息为准。