我正在使用web2py dal与mysqldb适配器连接到mysql服务器。没有“开始事务”的单个“提交”语句
我的问题:
- 为什么它需要一个单一的 “提交” 没有领先后 “开始交易” “一套自动提交= 0”
- 没有 “选择” 的声明开始一个事务,如果autocommit = 0?
服务器信息: InnoDB引擎 自动提交= 1(默认值) TX_ISOLATION =重复读取(默认值)
general_log:
100356 10:00:00 123456 Connect [email protected] on dummydb
123456 Query SET NAMES 'utf8'
123456 Query SET AUTOCOMMIT = 0
123456 Query COMMIT
123456 Query SET FOREIGN_KEY_CHECKS=1
123456 Query SET sql_mode='NO_BACKSLASH_ESCAPES'
谢谢jonathan。所以在这种情况下隐含地发布“开始”。另一个问题:会话A中的“提交”声明是否将会话B中的已提交更改引入会话A? (tx_isolation =可重复读取) – 2012-01-10 08:10:30
这是Paul的答案......但是,在COMMIT之后,你开始一个新的事务,所以你也可以看到自从你开始前面的事务以来,其他人对数据库的改变。 – 2012-01-10 15:14:14