我正在执行以下查询以查找我的临时表是否已锁定。
show open tables where in_use > 0 and table = 'temp'
但它低于错误:
&table;' temp =#39;
附近的语法错误
我已搜索但无法获得正确的语法。任何人都可以提供帮助。
答案 0 :(得分:4)
方法1:只需执行命令show processlist;或显示完整的流程清单;命令并检查是否有任何查询/表在进程列表中显示为锁定。
注意:从超级用户检查以检查服务器上的所有正在运行的进程。
方法2:执行show engine innodb status;你可以在这里检查锁定......
方法3:在mysql 5.6以后,你也可以在information_schema db中查看它。
注意:如果您使用的是mysqladministrator之类的任何gui工具,那么您可以检查所有正在运行的进程,如果有任何表被锁定,则可以轻松查找....
更新
如果你想通过sql查询得到这个,那么你可以使用下面的查询 -
对于所有锁定的表格 -
SHOW OPEN TABLES WHERE in_use>0;
检查特定表格 -
SHOW OPEN TABLES WHERE in_use>0 AND `Table`='your_table_name';