트랜잭션 메커니즘을 설정하고 의도적으로 두 번째 SQL 문을 잘못 설정했는데 첫 번째 SQL 문이 결국 실행되면 트랜잭션이 롤백되고 전혀 실행되지 않아야 합니까?
陈老师
陈老师 2018-05-19 12:55:01
0
1
1199


<?php

$pdo=new PDO('mysql:host=localhost;dbname=student','root','root');

try{

$pdo->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

$pdo->beginTransaction();

//첫 번째 SQL 문

$sqla="delete from chen where id=14";

$ pdo->exec($sqla);

//둘째 날의 sql 문

$sqlb="delete froms chen where id=15"; //고의로 잘못 쓴 것

$pdo- > ;exec($sqlb);


}catch(Exception $e){

$pdo->rollBack();

$e->getMessage();

echo "작업 실패했습니다 ";

}

?>


陈老师
陈老师

모든 응답(1)
NULL

데이터베이스 엔진이 MyISAM인가요? InnoDB로 바꿔보세요

  • 회신하다 예, 문제를 찾았습니다. 정말 감사합니다.
    陈老师 작가 2018-05-21 10:55:46
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿