php中在PDO中使用事務(wù)(Transaction)
更新時間:2011年05月14日 15:56:31 作者:
事務(wù) (Transaction) 是操作數(shù)據(jù)庫中很重要的一個功能, 它可以讓你預(yù)定一條, 或者一系列 SQL 語句, 然后一起執(zhí)行
并且在執(zhí)行的過程中, 如果其中的某條執(zhí)行失敗, 可以回滾所有已更改的操作. 如果執(zhí)行成功, 那么這一系列操作都會永久有效. 事務(wù)很好的解決了在操作數(shù)據(jù)庫的時候不同步的問題. 同時, 通過事務(wù)去執(zhí)行大數(shù)據(jù)量的時候, 執(zhí)行效率可以提高很多很多.
在 PDO 中, 事務(wù)已經(jīng)顯得非常簡單. 下面一個基本的例子, 演示了向 SQLite 數(shù)據(jù)庫插入 1000000 條數(shù)據(jù), 并且在出錯的時候回滾.
try
{
$conn = new PDO('sqlite:Transactioion.s3db');
$conn->beginTransaction();
for($i=0; $i<1000000; $i++)
{
$conn->exec("insert into [users] values(null,'username')");
}
$conn->commit();
}
catch(PDOException $ex)
{
$conn->rollBack();
}
在 PDO 中, 事務(wù)已經(jīng)顯得非常簡單. 下面一個基本的例子, 演示了向 SQLite 數(shù)據(jù)庫插入 1000000 條數(shù)據(jù), 并且在出錯的時候回滾.
復(fù)制代碼 代碼如下:
try
{
$conn = new PDO('sqlite:Transactioion.s3db');
$conn->beginTransaction();
for($i=0; $i<1000000; $i++)
{
$conn->exec("insert into [users] values(null,'username')");
}
$conn->commit();
}
catch(PDOException $ex)
{
$conn->rollBack();
}
您可能感興趣的文章:
- PHP5中使用PDO連接數(shù)據(jù)庫的方法
- PHP PDO fetch 模式各種參數(shù)的輸出結(jié)果一覽
- php mysql PDO 查詢操作的實(shí)例詳解
- php中PDO方式實(shí)現(xiàn)數(shù)據(jù)庫的增刪改查
- 全新的PDO數(shù)據(jù)庫操作類php版(僅適用Mysql)
- PHP的Laravel框架中使用消息隊列queue及異步隊列的方法
- PHP+memcache實(shí)現(xiàn)消息隊列案例分享
- PHP使用php-resque庫配合Redis實(shí)現(xiàn)MQ消息隊列的教程
- php+redis消息隊列實(shí)現(xiàn)搶購功能
- PHP消息隊列用法實(shí)例分析
- PHP PDO和消息隊列的個人理解與應(yīng)用實(shí)例分析
相關(guān)文章
在命令行下運(yùn)行PHP腳本[帶參數(shù)]的方法
這里介紹的是在命令行執(zhí)行php腳本的代碼,其實(shí)主要用到的是php.exe,所以注意設(shè)置環(huán)境變量。2010-01-01
ThinkPHP刪除欄目(實(shí)現(xiàn)批量刪除欄目)
下面小編就為大家?guī)硪黄猅hinkPHP刪除欄目(實(shí)現(xiàn)批量刪除欄目)。小編覺得挺不錯的?,F(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-06-06
給PHP開發(fā)者的編程指南 第一部分降低復(fù)雜程度
給PHP開發(fā)者的編程指南,第一部分的內(nèi)容是降低復(fù)雜程度,感興趣的小伙伴們可以參考一下2016-01-01
php中g(shù)et_magic_quotes_gpc()函數(shù)說明
get_magic_quotes_gpc函數(shù)是一個用來判斷是否為用戶提供的數(shù)據(jù)增加斜線了,這個在php.ini配置文件中哦,本文將介紹一下get_magic_quotes_gpc()函數(shù)說明。下面跟著小編一起來看下吧2017-02-02

