事務;
事務是任何健壯資料庫系統的基本組成,它們 防止錯誤和資料庫腐敗通過確保有關資料的改變是原子發生的(不可分割的,要麼所有要麼什麼都不做)
這個章節應用於資料庫支援事務和 autocommit 是關閉的,檢視"autocommit" 使用對於各種型別的資料庫。
推薦的方式實現健壯的事務在perl應用是使用raiseerror and eval
$dbh-> = 0; # enable transactions, if possible
$dbh-> = 1;
eval as it may also fail
eval ;
#!/usr/bin/perl
use dbi;
$db_name='zjzc';
$ip='127.0.0.1';
$user="root";
$passwd="1234567";
$dbh="";
$dbh = dbi->connect("dbi:mysql:database=$db_name;host=$ip;port=3306",$user,$passwd,) or die "can't connect to database ". dbi-errstr;
eval;
if( $@ ) 屬性的主要優勢是 dbi請求會被自動檢查,
[root@wx03 sbin]# cat a1.pl
use dbi;
use posix;
$db_name='scan';
$ip='127.0.0.1';
$user="root";
$passwd="***";
$dbh = dbi->connect("dbi:mysql:database=$db_name;host=$ip;port=3306",$user,$passwd,) or die "can't connect to database ". dbi-errstr;
eval;
if( $@ ) ) or die "can't connect to database ". dbi-errstr;
eval;
if( $@ ) {
my $xdate = strftime("%y%m%d%h%m%s",localtime());
#warn "database error: $dbi::errstr\n";
print "\$xdate is $xdate\n";
$dbh->rollback(); #just die if rollback is failing
$dbh->disconnect;
[root@wx03 sbin]# perl a1.pl
$xdate is 20160823110746
dbd::mysql::db do failed: ta
星空 控控控 上ke控 新浪部落格
摸不到的顏色是否叫彩虹 看不到的擁抱是否叫做微笑 乙個人想著乙個人 是否就叫寂寞 命運偷走如果只留下結果 時間偷走初衷只留下苦衷 你來過然後你走後 只留下星空 那一年我們望著星空 有那麼多的燦爛的夢 以為快樂會永久 像不變星空 陪著我獵戶天狼 侄女光年外的寂寞 回憶青春 夢想何時常常隱沒 我愛過然後...
MySql 事務詳解與 MVCC 多版本併發控制
原子性 atomicity 事務包含的所有操作要麼全部成功,要麼全部失敗回滾。一致性 consistency 事務必須使資料庫從乙個一致性狀態變換到另乙個一致性狀態,也就是說乙個事務執行之前和執行之後都必須處於一致性狀態。隔離性 isolation 事務之間相互隔離不被干擾。永續性 durabili...
PostgreSQL 十二 事務處理與併發控制
postgresql提供了多種資料完整性的保證機制,如約束 觸發器 約束和鎖管理等。12.1 事務管理簡介 事務是postgresql中的基本工作單元,是使用者定義的乙個資料庫操作序列,這些操作要麼全做要麼全不做,是乙個不可分割的工作單位。事務的屬性 原子性 atomic 事務必須是原子工作單元 對...