我有一個關於mysql提交和交易的問題。mysql提交和交易
我有幾個執行mysql查詢的php語句。
我只是說以下嗎?
mysql_query("START TRANSACTION");
//more queries here
mysql_query("COMMIT");
這會做什麼?它有什麼幫助?對於更新,刪除和插入我也發現這個從閱讀阻止其他查詢:
mysql_query("LOCK TABLES t1 WRITE, t2 WRITE");
//more queries here
mysql_query("UNLOCK TABLES t1, t2");
這會阻止其他查詢任何性質或只寫/選擇?
另一個問題:說一個查詢正在運行並阻止其他查詢。另一個查詢嘗試訪問被阻止的數據 - 並且發現它被阻止。它是如何進行的?它是否等到數據再次解除阻塞並重新執行查詢?它是否失敗,需要重複?如果是這樣,我該如何檢查?
非常感謝!
丹尼斯
您是否使用InnoDB或MyISAM表? – Daan
@Daan我使用InnoDB – weltschmerz