很多新手在進行項目過程中,會碰到這樣一種情況,如:論壇扣幣項目中,使用者支付論壇幣的時候如果突然斷網、電腦死機、停電、等其它自然災害時,導致本次交易沒有成功(即使用者的幣已經扣掉了,但是伺服器資料庫中沒有消費記錄等其它情況),這種情況應該怎麼樣進行處理呢?
在這個時候,我們可以用Mysql交易回復來進行處理,那代碼怎麼寫呢?
那下面我就來說一說這個mysql交易回復應該怎麼處理。
首先MYSQL中只有INNODB和BDB類型的資料表才能支援交易處理!其他的類型是不支援的!
那如果,我們的資料表已經存在,並且不是上面所說的兩種類型的話,應該怎麼辦呢?
1、我可以去找一個叫MySQL-Front的軟體,裡面能更改表類型。
2、我們也可以通過SQL語句來更改,sql語句可以這樣寫:
複製代碼 代碼如下:
ALTER TABLE TABLENAME type = InnoDB;
將需要修類型的表全更改完成後,我們可以到PHP檔案中用代碼進行測試了。
複製代碼 代碼如下:
mysql_query("BEGIN"); //或者mysql_query("START TRANSACTION");
$sql = "INSERT INTO ...";
$sql2 = "INSERT INTO ...";
$res = mysql_query($sql);
$res1 = mysql_query($sql2);
if($res && $res1){
mysql_query("COMMIT");
echo '提交成功。';
}else{
mysql_query("ROLLBACK");
echo '資料復原。';
}
mysql_query("END");
看到這裡,應該知道怎麼用PHP來處理mysql的交易回復了吧。很簡單吧!
http://www.bkjia.com/PHPjc/328083.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/328083.htmlTechArticle很多新手在進行項目過程中,會碰到這樣一種情況,如:論壇扣幣項目中,使用者支付論壇幣的時候如果突然斷網、電腦死機、停電、等其它...