在MYSQL中建表,提示报错,报错代码121,报错如下[Err] 1005 - Can't create table '.\qesplatform_dbdldx\p_users.frm' (errno: 121)
上网查了下,说外关键字问题,可是此库中,没有外键啊,到底是什么问题啊,比较着急。附上建表语句:CREATE TABLE `p_users` (
  `id` int(10) unsigned NOT NULL auto_increment,
  `username` varchar(45) NOT NULL,
  `password` varchar(45) NOT NULL,
  `email` varchar(45) NOT NULL,
  `last_login` datetime default NULL,
  `enabled` tinyint(1) NOT NULL default '0',
  `password_hint` varchar(45) NOT NULL,
  `non_expired` tinyint(1) NOT NULL default '1',
  `non_locked` tinyint(1) NOT NULL default '0',
  `credentials_non_expired` tinyint(1) NOT NULL default '1',
  `version` int(10) unsigned NOT NULL default '0',
  `org_id` int(10) unsigned NOT NULL default '0',
  `login_times` int(10) unsigned NOT NULL default '0',
  `last_ip` varchar(15) default '',
  `last_login_org_id` int(10) unsigned NOT NULL default '0',
  `hint_question` varchar(45) default NULL,
  `hint_answer` varchar(45) default NULL,
  `type` tinyint(1) unsigned NOT NULL default '1' COMMENT '1:alumni user; 2: platform user',
  PRIMARY KEY  (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8;

解决方案 »

  1.   

    没问题  可以成功
    mysql> CREATE TABLE `p_users` (
        ->   `id` int(10) unsigned NOT NULL auto_increment,
        ->   `username` varchar(45) NOT NULL,
        ->   `password` varchar(45) NOT NULL,
        ->   `email` varchar(45) NOT NULL,
        ->   `last_login` datetime default NULL,
        ->   `enabled` tinyint(1) NOT NULL default '0',
        ->   `password_hint` varchar(45) NOT NULL,
        ->   `non_expired` tinyint(1) NOT NULL default '1',
        ->   `non_locked` tinyint(1) NOT NULL default '0',
        ->   `credentials_non_expired` tinyint(1) NOT NULL default '1',
        ->   `version` int(10) unsigned NOT NULL default '0',
        ->   `org_id` int(10) unsigned NOT NULL default '0',
        ->   `login_times` int(10) unsigned NOT NULL default '0',
        ->   `last_ip` varchar(15) default '',
        ->   `last_login_org_id` int(10) unsigned NOT NULL default '0',
        ->   `hint_question` varchar(45) default NULL,
        ->   `hint_answer` varchar(45) default NULL,
        ->   `type` tinyint(1) unsigned NOT NULL default '1' COMMENT '1:alumni user; 2: platform user',
        ->   PRIMARY KEY (`id`)
        -> ) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8;
    Query OK, 0 rows affected (0.04 sec)mysql> 
      

  2.   

    SQL语句没有问题,检查一下打开的什么数据库、MYSQL什么版本、磁盘空间
      

  3.   

    还有,在服务器端,用MYSQL管理工具报错,报错编号NO.2,我是通过NAVICAT登录的,与这有关吗?
      

  4.   

    $perror 121
    MySQL error code 121: Duplicate key on write or update这个错误我也没有遇到过,是不是其他的表把这个表的某个字段做外键什么的?
    尝试设置一下这个?
    /*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;或者先drop table 然后再create table?