以 begin / start transaction 开始,commit / rollback 结束的事务。或者是带有保存点 savepoint 的事务。
2. 链式事务
一个事务在提交的时候自动将上下文传给下一个事务,也就是说一个事务的提交和下一个事务的开始是原子性的,下一个事务可以看到上一个事务的处理结果。MySQL 的链式事务靠参数 completion_type 控制,并且回滚和提交的语句后面加上 work 关键词。
3. 嵌套事务
有多个 begin / commit / rollback 这样的事务块的事务,并且有父子关系。子事务的提交完成后不会真的提交,而是等到父事务提交才真正的提交。
4. 自治事务
内部事务的提交不随外部事务的影响,一般用作记录内部事务的异常情况。MySQL 不支持自治事务,但是某些场景可以用 MySQL 的插件式引擎来变相实现。
mysqli::autocommit -- mysqli_autocommit — 打开或关闭本次数据库连接的自动命令提交事务模式说明
面向对象风格
mysqli::autocommit ( bool $mode ) : bool
过程化风格
mysqli_autocommit ( mysqli $link , bool $mode ) : bool
打开或关闭本次数据库连接的自动命令提交事务模式。
如需要确认当前连接的自动事务提交状态,可执行这个SQL请求SELECT @@autocommit.
参数
link
仅以过程化样式:由mysqli_connect() 或 mysqli_init() 返回的链接标识。
mode
Whether to turn on auto-commit or not.
返回值
成功时返回 TRUE, 或者在失败时返回 FALSE。
注释
Note:
这个方法不会在不支持事务处理的表单查询中生效,如MyISAM或 ISAM。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)