$myServer='127.0.0.1';
$myDB='karma';
$myUser='root';
$myPass='wilian';
try {
$connStr = "mysql:host=".$myServer.";dbname=".$myDB;
$dbh = new PDO($connStr,$myUser,$myPass);
} catch (Exception $e) {
die("Unable to connect: " . $e->getMessage());
}
try {
$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$dbh->beginTransaction();
$dbh->query("insert into mst_goods_category (id, GOODS_CATEGORY_CODE, GOODS_CATEGORY_NAME, ACTIVE_FLAG, CREATE_DATE, CREATE_TIME, CREATE_USER) values (12, '012', '333', 'Y', '20140702', '00:00:00', 'admin')");
$dbh->query("insert into mst_goods_category (id, GOODS_CATEGORY_CODE, GOODS_CATEGORY_NAME, ACTIVE_FLAG, CREATE_DATE, CREATE_TIME, CREATE_USER) values (13, '012', '333', 'Y', '20140702', '00:00:00', 'admin')");
$dbh->commit();
} catch (PDOException $e) {
$dbh->rollBack();
throw $e;
}
두 번째 쿼리가 고유 제약 때문에 오류입니다. $ e가 표시되지만 롤백하지 않습니다. 어느 것이 잘못 되었습니까?PDO 롤백이 작동하지 않습니다.
왜 롤백해야한다고 생각합니까? –
뭔가 잘못 된 경우에만 롤백해야합니다. – AdRock
오 죄송합니다. 고유 제약 조건 –