mysql> use information_schema
Database changedmysql> select * from TABLES;
ERROR 1102 (42000): Incorrect database name ''奇怪,为什么有这张表,却查询的时候报错呢?
网上说这个表查看索引碎片什么的,我想看看我频繁操作的表有没有很多的碎片,怎么查看呢?

解决方案 »

  1.   


    mysql> use information_schema;
    Database changed
    mysql> select * from TABLES;
    +---------------+--------------------+------------------------
    +-------------+--------------------+--------------+-----------
    -------------+----------+----------------+--------------------
    | TABLE_CATALOG | TABLE_SCHEMA       | TABLE_NAME
    | DATA_LENGTH | MAX_DATA_LENGTH    | INDEX_LENGTH | DATA_FREE
    _COLLATION   | CHECKSUM | CREATE_OPTIONS | TABLE_COMMENT
    +---------------+--------------------+------------------------
    +-------------+--------------------+--------------+-----------
    -------------+----------+----------------+--------------------
    | NULL          | information_schema | CHARACTER_SETS
    |           0 |           16604160 |            0 |          0
    general_ci   |     NULL | max_rows=43690 |
      

  2.   

    恩,我的查询的时候就报错,不知道什么原因网上另外找了个方法 SHOW TABLE STATUS LIKE '表' \G  也可以查看索引碎片情况,和TABLES有什么区别吗?
      

  3.   

    没区别 show就是去调用的tables表的东西
      

  4.   

    恩,有的,因为我也是show tables 之后再查询,其中里面有好几个表都是这样的错误,为什么
      

  5.   

    http://bugs.mysql.com/bug.php?id=40719
      

  6.   

    谢谢,原来是目录名称有空格  MySQL\MySQL Server 5.0\ 造成的