當MySQL資料庫處理時遇到ER_LOCK_WAIT_TIMEOUT時,代表該表有交易還沒結束掉,要查詢到底是哪一筆交易沒結束掉可以使用以下SQL,DB_NAME請替換成自己的資料庫名稱
SELECT CONCAT('KILL ', ID, ';')
FROM INFORMATION_SCHEMA.PROCESSLIST
WHERE DB = [DB_NAME] AND TIME >= 10;
之後可以得到該執行序的id,然後直接下SQL,上面這個語法直接幫你把要下的SQL組合起來了,下完就海闊天空了~
KILL [ID];
沒有留言:
張貼留言