MySQL社区

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

搜索
查看: 1366|回复: 1
打印 上一主题 下一主题

[命令及语法] 有关MYSQL事务处理的问题,谢谢。

[复制链接]
跳转到指定楼层
1#
发表于 2017-7-18 22:49:41 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
1、在命令行中如果事务中的一条语句执行错误,该事务是否立即rollback并结速事务,后续的语句采用默认的隐形commit?
例:命令行语句:
1      >BEGIN;
2      >INSERT  INTO tmp1 VALUE(1);
3      >ROOLBACK;    //语句拼错
4      >INSERT INTO tmp1 VALUE(2);
此时该事务是否在第3行立即结束并回滚第2行的操作?然后再执行并提交第4行的语句,最后tmp只插入了值“2”?
2、用PHP函数进行事务操作时,如果采用mysql_query("SET AUTOCOMMIT=0")来开启事务,但并未在程序结束时将值改回来,恰巧此时的连接是一个长连接,那么另一个页面获得此数据库连接时,AUTOCOMMIT的值会是什么?
3、如果用mysql_query("BEGIN")启动一个事务,但在程序中并没有结束事务的"ROLLBACK"或"COMMIT"语句,连接结束后,是否会自动回滚并结束该事务?
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 分享淘帖 顶 踩
2#
 楼主| 发表于 2017-7-19 13:56:26 | 只看该作者
妈了个蛋,坑死老子了,作死的Apache+php的mysql 长连接!经测试:上一页面未结束的事务会延续到下一个请求该连接的页面!也就是说下一个调用此连接的页面中的SQL语句执行结果全得不到提交!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|申请友链|小黑屋|Archiver|手机版|MySQL社区 ( 京ICP备07012489号   
联系人:周生; 联系电话:13911732319

GMT+8, 2024-5-16 06:20 , Processed in 0.063898 second(s), 22 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表