我用mysql的命令行里创建了表users后,后来我手动的删除了这个表,然后再建这个名的表时,不能建了,这个怎么解决啊

解决方案 »

  1.   

    你在什么数据库下建立、删除USER表
      

  2.   

    mysql> use book;
    Database changed
    mysql> create table if not exists Users
        -> (
        -> UserName varchar(50) primary key,
        -> UserPwd varchar(50),
        -> ShowName varchar(50)
        -> );
    ERROR 1005 (HY000): Can't create table '.\book\users.frm' (errno: 121)
      

  3.   

    mysql> use book;
    Database changed
    mysql> create table if not exists Users
        -> (
        -> UserName varchar(50) primary key,
        -> UserPwd varchar(50),
        -> ShowName varchar(50)
        -> );
    ERROR 1005 (HY000): Can't create table '.\book\users.frm' (errno: 121)
      

  4.   

    create table if not exists `Users`
    在MYSQL 数据目录下检查是否存在Users表
      

  5.   

    show tables;看一下这些表是否已经存在? 如果存在,则检查一下是否有外键约束?
      

  6.   

    没的啊 我之前建的数据库整个给删了的。那个表也同时删掉了的啊。是不是日志里有残留的文件啊。因为我是手动删的,不是用sql语句删的。有没有关系啊
      

  7.   

    新建立一个数据库,再建立USER表试试
      

  8.   

    在book 数据库中任何表都不能建,还是仅这两个表不能创建?
      

  9.   

    1. 确认show tables 中没有这两个表
    2. 检查一下datadir\book 文件夹中没有这两个所对应的任何文件。
    3. 检查一下information_schema.`TABLES` T; 中是否有这两个表?
    4. 重启mysqld 试一下。另外你的mysql 版本是什么?操作系统是什么?数据库的默认存储引擎是哪种?
      

  10.   

    mysql是集成在wamp5里面的 xp操作系统
      

  11.   

    有一种可能,你看看你的数据库文件存放目录下,book 这个数据库的目录下,是否有 users.frm 这个文件,要是有,删了他。