在MySQL數據庫中,如果同時有多個事務訪問同一個數據表且其中一個事務對表進行了寫操作,那么就會對數據表進行鎖定,以確保數據一致性。
當我們需要查看某個表是否被鎖定時,可以使用以下兩種方法:
SHOW OPEN TABLES WHERE IN_USE >0;
執行上述命令后,可以看到所有被打開且正在使用的數據表列表,其中若某個表處于locked狀態,則說明該表已經被鎖定。
SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCKS;
執行上述命令后,可以看到當前所有的鎖定狀態及其相關信息,包括鎖定的表名、行號、事務ID等。若需要查看特定表的鎖定情況,可以在上述命令中添加WHERE子句,指定具體的表名。