[請益] 資料進入資料庫的中途出現錯誤怎麼修復
這幾天想到一個問題
使用我提供的後台api的對像會先傳給我一堆資料
我再藉由傳給我的一個status變數的內容執行對應的工作
這些工作裡面有很多都是要把資料輸入資料庫
或先進資料庫查出跟使用者相關的資料做處理
有一個功能需要把使用著的身份資料寫進兩個不同的資料表
比如說 community 這張表裡面是記錄使用者的通訊資料
另一張表 serviceInfo 是使用者的消費資料(例如累積的紅利點數)
所以當一個新的使用者註冊時(假如使用者輸入的資料都通確檢查沒有缺失)
step 1 :我會先把他的資料填入community
step 2 :再到serviceInfo裡新增他的資料
可是如果我完成step 1 之後莫名其妙的沒有把資料加到step 2 裡,
這時我該怎麼補救?
我該怎麼去補完step 2 沒完成的工作?
或是我該怎麼回頭去刪掉step 1 已輸入的資料?
--
--
▄ ▆ ● ◤ ●
◢ ˙ ˙ ◣ ● ▼◥ ▲●
◆◣ ◤◆ 上吧,藍胖!! ● ▲●
◥ \◤' (OwQ )
◣ ◣ ◤ ) ) ﹀ \ \ ◣
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 115.43.55.22
※ 文章網址: https://www.ptt.cc/bbs/PHP/M.1438990796.A.69F.html
推
08/08 09:08, , 1F
08/08 09:08, 1F
請問包 transaction的意思是這樣嗎
mysql_query("SET AUTOCOMMIT=0");
//設置 mysql 不自動執行,需自行用 commit 語句執行
$sql_com = " insert into community values('李某某','0919...',...) ";
$sql_service = " insert into serviceInfo values('100','10','2015...'...) ";
$res_c = mysql_query($sql_com);
$res_s = mysql_query($sql_service);
if($res_c && $res_s){
mysql_query("COMMIT"); //兩個都完成 則確定輸入資料
}else{
mysql_query("ROLLBACK"); //否則退回原本狀態
}
※ 編輯: kattte (115.43.55.22), 08/08/2015 13:00:35
推
08/08 14:17, , 2F
08/08 14:17, 2F
→
08/08 14:17, , 3F
08/08 14:17, 3F
→
08/08 16:31, , 4F
08/08 16:31, 4F