정의: PDO
트랜잭션 기능은 PDO
의 추가 기능이 아니라 원래 MySQL
에서 지원하는 트랜잭션 작업을 수정한 것입니다. 특정 캡슐화 구현 . 참고: 트랜잭션 실행의 성공 여부는 MySQL
에 해당하는 스토리지 엔진이 이를 지원하는지 여부에 따라 결정됩니다. PDO
事务功能,并非PDO
额外多出了一项功能,而是将原来MySQL
所支持的事务操作进行了一定的封装实现。注意:事务执行是否成功是由MySQL
对应的存储引擎是否支持决定的。
1.事务功能回顾:事务是指改变默认的一次操作一次写入数据表的机制,而是通过事务日志记录操作,在最后通过一次性操作写入到数据表。
开启事务:start transaction
,写操作停止直接写入数据表,而是记录到事务日志
事务操作:具体的写操作,通常多个步骤多条指令
提交事务:即事务操作结束
成功提交:commit
,所有事务日志内容同步到数据表,并清空当前事务日志
失败回滚:rollback
,直接清空当前事务日志
2.PDO类中提供一套方案来实现事务操作
<?php $pdo = new PDO('mysql:host=localhost;port=3306;dbname=my_database','root','root'); $pdo->beginTransaction() or die('事务开启失败');//开启事务 $pdo->exec('insert into student values()');//执行事务 //终止事务 $pdo->commit(); //成功提交 $pdo->rollback(); //失败回滚
3.在事务操作中,有一种回滚点
机制,在PDO
中没有实现,如果有必要,可以通过SQL指令
1. 트랜잭션 기능 검토
트랜잭션 시작
, 쓰기 작업은 데이터 테이블에 직접 쓰기를 중지하지만 트랜잭션에 기록됩니다. logcommit
, 모든 트랜잭션 로그의 내용은 데이터 테이블에 동기화되며 현재 트랜잭션 로그는 비어 있습니다. <?php $pdo = new PDO('mysql:host=localhost;port=3306;dbname=my_database','root','root'); $pdo->beginTransaction() or die('事务开启失败');//开启事务 $pdo->exec('insert into student values()');//执行事务 //设置回滚点 $pdo->exec('savepoint sp1'); //继续执行事务... //回滚 $pdo->exec('rollback to sp1'); //终止事务 $pdo->commit(); //成功提交 $pdo->rollback(); //失败回滚 ?>🎜 3. 트랜잭션 작업에는
롤백 지점
이 있습니다. 이 메커니즘은 PDO
에서 구현되지 않습니다. 필요한 경우 가능합니다. SQL 명령
설정을 통해 구현🎜🎜rrreee🎜권장: 🎜php 튜토리얼🎜, 🎜php 비디오 튜토리얼🎜🎜
위 내용은 PDO 트랜잭션 기능에 대하여의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!