PHP對MYSQL資料庫進行事務處理及表鎖定

2021-05-25 12:35:50 字數 1331 閱讀 2303

mysql的事務處理主要有兩種方法:

$link = mysql_connect('localhost', 'root', '');

if (!$link)

mysql_select_db('test', $link) or die ('can/'t use [test]: ' . mysql_error());

mysql_query("begin"); //或者mysql_query("start transaction");

//若不使用事務,則$sql執行成功,$sql1執行失敗

$sql = " insert into test values('11','88') ";

$sql1 = " insert into test values('11','88','444') ";

$res = mysql_query($sql);

$res1 = mysql_query($sql1);

//因為使用了事務,則兩個insert都執行失敗

if($res &

&$res1) else

mysql_close($link);

// connect db....

mysql_query("set autocommit=0"); //設定mysql不自動提交,需自行用commit語句提交

$sql = " insert into test values('11','88') ";

$sql1 = " insert into test values('11','88','444') ";

$res = mysql_query($sql);

$res1 = mysql_query($sql1);

//因為使用了事務,則兩個insert都執行失敗

if($res &

&$res1)else

//對於不支援事務的myisam引擎資料庫可以使用表鎖定的方法:

//myisam &

innodb 都支援,

//notes:query語句不能寫在一起如:mysql_query("select * from a;select * from b;");

$sql_1=" lock tables test write ";

mysql_query($sql_1);

$sql_2=" insert into test values('".$a."','".$b."') ";

if(mysql_query($sql_2))else

$sql_3=" unlock tables ";

mysql_query($sql_3);

// close db...

PHP對MYSQL資料庫進行事務處理及表鎖定

link mysql connect localhost root if link mysql select db test link or die can t use test mysql error mysql query begin 或者mysql query start transactio...

php對mysql資料庫操作

計應134軟體實驗班 劉瑞鋒 學習筆記 通過命令提示符啟動mysql資料庫,輸入安裝時設定的密碼,就可以對mysql資料庫進行資料操作,通過 show databases 可以檢視mysql資料庫中的存在多少資料庫,再輸入命令的結尾,每一條命令都要加英符的分號,不然會報錯。因為學過sqlserver...

編寫shell指令碼對mysql資料庫進行定時備份

在linux上安裝mysql並建立測試庫,編寫shell指令碼對此庫使用mysqldump進行定時備份和歷史備份檔案清理 保留3天 注意指令碼的通用性和擴充套件性 安裝服務端 yum install mysql server yum install mysql devel 安裝客戶端 yum ins...