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放到第一步之前。
這個方法目前還沒有問題不知道是不是這個原因,有懂得幫忙解釋下。