所以這裏是...如果多個連接用於查詢,mysql事務是否會工作?
//我開始交易 $ mysqli = new mysqli(...);
//開始交易 $ mysqli-> autocommit(FALSE);
- 這裏是一個選擇準備報告有自己的數據庫連接
- 這裏是一個插入準備報告有自己的數據庫連接
- 這裏是一個slect準備報告上述DB康恩
- 插入新康恩
- 插入新康恩
- 插入新的康恩
如果每一個準備好的查詢returs真正它將($ mysqli->提交()),否則$ mysqli->回滾
我不知道因爲什麼原因,交易將自動提交
我已經做了一些交易以3倍數連接和他們回滾...這一個不... 是否使mysql被支持一個具有單個連接查詢的事務?
解決了......如果來自不同表格的查詢是相互依賴的,就像我的情況一樣,並且您需要強大的數據訪問安全性,請爲每個打開的連接設置autocommit爲false,爲每個失敗的bussness邏輯設置var爲false,如果有什麼失敗,回滾每一組查詢,否則comit evry查詢... 是的交易執行每個連接,有別的管理回滾時,我說,MySQL做了一些多連鎖交易回滾
重新編輯:ofc這不會像一個正常的交易工作...在系統崩潰的情況下,數據將被存儲,直到崩潰的時刻
您的示例缺少事務的開始。它需要先啓動。 – hakre