<?php
try
{
$pdo
=
new
PDO(
"sqlite:database.db"
);
$pdo
->beginTransaction();
// 执行数据库操作
$pdo
->commit();
}
catch
(PDOException
$e
) {
$pdo
->rollback();
echo
"事务回滚:"
.
$e
->getMessage();
}
?>
通過將數據庫操作封裝在事務中,可以確保在並發訪問時,每個事務都能獨立運行,避免數據衝突。
<?php
try
{
$pdo
=
new
PDO(
"sqlite:database.db"
);
$pdo
->exec
(
"BEGIN IMMEDIATE"
);
// 执行数据库操作
$pdo
->exec
(
"COMMIT"
);
}
catch
(PDOException
$e
) {
$pdo
->exec
(
"ROLLBACK"
);
echo
"事务回滚:"
.
$e
->getMessage();
}
?>
通過使用`BEGIN IMMEDIATE`語句,可以使數據庫進入鎖定模式,從而防止並發事務造成的衝突。