mysql查詢鎖表及解鎖


SHOW PROCESSLIST;
KILL   4086;

鎖表網上解釋:

這牽涉到mysql的事務,簡單通俗的話,就這樣給你解釋
有一個任務序列控制sql語句的執行,
第一次有select的語句查詢表a,mysql服務器在執行select之前將表a加讀鎖,
第二次又有一條select語句查詢表a, mysql服務器發現在任務序列中有表a的讀鎖,也就是同時還有一個sql查詢表a,讀鎖不會影響這條sql語句,
當有一條update或者insert語句對表a操作時,mysql服務器會對表a加寫鎖,以此提示之后的對表a操作的sql語句等待寫鎖解鎖后在執行,以免造成寫入與讀取的混亂  

 

我遇到的問題:

語句完全沒問題,但是偏偏鎖住了。我的代碼結構是 1:打開事務 2:查詢A表ID 3:插入A表 4:插入B表 5:關閉事務

通過上面的解釋我覺得可能是我第二步放到事務里面了,所以我將第二步查詢A表ID放到第一步之前。

這個方法目前還沒有問題不知道是不是這個原因,有懂得幫忙解釋下。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM