在创建表格的时候报错情况如下:
ERROR 1005 (HY000): Can't create table '.\dbuser\cacert.frm' (errno: 121)
ERROR 1005 (HY000): Can't create table '.\dbuser\userinfo.frm' (errno: 121)这张表格在其他人的电脑上可以创建成功,但在我电脑上就会报错,什么原因啊?
我要创建的表格代码如下:
-- mysql> \.db_setup.mysqlCREATE DATABASE dbuser;
USE dbuser;--
-- table1
--CREATE TABLE `cacert`(
`collection-owner` INT(10) NOT NULL,
`CERTTYPE` VARCHAR(20),
`USERJID` VARCHAR(64),
`DAY` INT(10),
`KEYLEN` INT(4),
`CERTSTATE` INT,
`REVOKEREASON` VARCHAR(255),
`REVOKETIME` VARCHAR(10),
`BEGINTIME` TIMESTAMP,
`ENDTIME` VARCHAR(10),
PRIMARY KEY(`collection-owner`)
) ENGINE=InnoDB;
--
-- table2
--
CREATE TABLE `userinfo`(
`collection-owner` INT(10) NOT NULL,
`USERINFO` VARCHAR(255),
`CERTINFO` VARCHAR(4096),
PRIMARY KEY(`collection-owner`),
INDEX(`collection-owner`),
FOREIGN KEY(`collection-owner`) REFERENCES `cacert`(`collection-owner`) ON DELETE CASCADE) ENGINE=InnoDB;
高手给看看!
ERROR 1005 (HY000): Can't create table '.\dbuser\cacert.frm' (errno: 121)
ERROR 1005 (HY000): Can't create table '.\dbuser\userinfo.frm' (errno: 121)这张表格在其他人的电脑上可以创建成功,但在我电脑上就会报错,什么原因啊?
我要创建的表格代码如下:
-- mysql> \.db_setup.mysqlCREATE DATABASE dbuser;
USE dbuser;--
-- table1
--CREATE TABLE `cacert`(
`collection-owner` INT(10) NOT NULL,
`CERTTYPE` VARCHAR(20),
`USERJID` VARCHAR(64),
`DAY` INT(10),
`KEYLEN` INT(4),
`CERTSTATE` INT,
`REVOKEREASON` VARCHAR(255),
`REVOKETIME` VARCHAR(10),
`BEGINTIME` TIMESTAMP,
`ENDTIME` VARCHAR(10),
PRIMARY KEY(`collection-owner`)
) ENGINE=InnoDB;
--
-- table2
--
CREATE TABLE `userinfo`(
`collection-owner` INT(10) NOT NULL,
`USERINFO` VARCHAR(255),
`CERTINFO` VARCHAR(4096),
PRIMARY KEY(`collection-owner`),
INDEX(`collection-owner`),
FOREIGN KEY(`collection-owner`) REFERENCES `cacert`(`collection-owner`) ON DELETE CASCADE) ENGINE=InnoDB;
高手给看看!
我是用root权限登陆的,之前确实创建过同名的database,但我只从data文件夹中删除了对应的文件夹,不知道是不是因为没删干净?
ERROR 1005 (HY000): Can't create table '.\dbuser\userinfo.frm' (errno: 121)frm文件是表的结构文件,除了这2个表,另外的都可以成功吗?
比如你新建一个T1表
create table t1(a int(20));这样的试试。
mysql> show variables like '%version%';
+-------------------------+-----------------------+
| Variable_name | Value |
+-------------------------+-----------------------+
| protocol_version | 10 |
| version | 5.0.9-beta-nt |
| version_comment | Official MySQL binary |
| version_compile_machine | ia32 |
| version_compile_os | Win32 |
+-------------------------+-----------------------+
5 rows in set (0.06 sec)mysql> select @@version;
+---------------+
| @@VERSION |
+---------------+
| 5.0.9-beta-nt |
+---------------+
1 row in set (0.00 sec)
还好我的数据库中就只用到这一个database,我用了RESET MASTER命令,将二进制文件全部重置了,现在可以用了。