我在一个程序中要lock table tb_nm, 在这之前我想要知道另外一个程序或者服务对没对这个表(tb_nm)进行lock,
请问我如何得到该表的状态来决定我自己是否lock tb_nm?

解决方案 »

  1.   

    Try to analyze the result of show processlist.
      

  2.   


    mysql> use t_girl
    Database changed
    mysql> show open tables;
    +----------+---------------+--------+-------------+
    | Database | Table         | In_use | Name_locked |
    +----------+---------------+--------+-------------+
    | t_girl   | slave         |      0 |           0 | 
    | mysql    | help_keyword  |      0 |           0 | 
    | mysql    | help_category |      0 |           0 | 
    | mysql    | help_relation |      0 |           0 | 
    | t_girl   | t1            |      0 |           0 | 
    | mysql    | help_topic    |      0 |           0 | 
    | mysql    | user          |      0 |           0 | 
    +----------+---------------+--------+-------------+
    7 rows in set (0.00 sec)mysql> lock tables t1 as a read;
    Query OK, 0 rows affected (0.00 sec)mysql> show open tables;
    +----------+---------------+--------+-------------+
    | Database | Table         | In_use | Name_locked |
    +----------+---------------+--------+-------------+
    | t_girl   | slave         |      0 |           0 | 
    | mysql    | help_keyword  |      0 |           0 | 
    | mysql    | help_category |      0 |           0 | 
    | mysql    | help_relation |      0 |           0 | 
    | t_girl   | t1            |      1 |           0 | 
    | mysql    | help_topic    |      0 |           0 | 
    | mysql    | user          |      0 |           0 | 
    +----------+---------------+--------+-------------+
    7 rows in set (0.00 sec)mysql> unlock tables;
    Query OK, 0 rows affected (0.00 sec)mysql> show open tables;
    +----------+---------------+--------+-------------+
    | Database | Table         | In_use | Name_locked |
    +----------+---------------+--------+-------------+
    | t_girl   | slave         |      0 |           0 | 
    | mysql    | help_keyword  |      0 |           0 | 
    | mysql    | help_category |      0 |           0 | 
    | mysql    | help_relation |      0 |           0 | 
    | t_girl   | t1            |      0 |           0 | 
    | mysql    | help_topic    |      0 |           0 | 
    | mysql    | user          |      0 |           0 | 
    +----------+---------------+--------+-------------+
    7 rows in set (0.00 sec)