我得到以下錯誤:鎖等待超時超標在MySQL
ERROR 1205 (HY000): Lock wait timeout exceeded; try restarting transaction
我做了
show processlist;
命令,殺死了所有的流程和良好運行命令
+ - ---- + ------ + ----------- + ------------------- + ------ --- + ------ + ----------- + --------------------------- -------------------------------------------------- ---- + | Id |用戶|主機| db |命令|時間|狀態|信息| + ------ + ------ + ----------- + ------------------- + - ------- ------ + + ----------- + ----------------------- -------------------------------------------------- -------- + | 1749 | cyee | localhost | CY_Test |殺死| 2308 |查詢結束| INSERT INTO CY_Test.patient2010 SELECT * FROM cmsdata-outpatient-2010
.patient | | 1755 | cyee | localhost | cmsdata-inpatient |查詢| 0 | NULL |顯示完整的進程列表| + ------ + ------ + ----------- + ------------------- + - ------- ------ + + ----------- + ----------------------- -------------------------------------------------- -------- +
set innodb_lock_wait_timeout=1000;
其他網站提示,但我仍然得到相同的錯誤。任何幫助將不勝感激,謝謝!
可能重複的[如何調試鎖定等待超時時間?](http://stackoverflow.com/questions/6000336/how-to-debug-lock-wait-timeout-exceeded) – xathien
感謝您的幫助,但我試過了,出於某種原因我仍然得到相同的錯誤。 – ChrisYee90
將鎖定等待超時設置爲較大值可幫助您調試導致問題的原因,而不是解決實際的鎖定問題。代碼中的某些內容導致了這種情況,並且由於可能發生的種種方式,在不知道代碼在做什麼的情況下,我們無法提供幫助。首先檢查將在類似資源上並行創建鎖的查詢。 – xathien