简体   繁体   English

Mysql:没有键名,但是无法创建表(errno:121)

[英]Mysql: No key names but Can't create table (errno: 121)

Yes, I have read all tpoics about error 121 but I still get 是的,我已经阅读了有关错误121的所有技巧,但仍然可以

Can't create table 'catalog_category_flat_store_1' (errno: 121)

My query does not contain any CONSTRAINTs or key names 我的查询不包含任何约束或键名

DROP TABLE IF EXISTS `catalog_category_flat_store_1`;
CREATE TABLE `catalog_category_flat_store_1` (
  `entity_id` int(10) NOT NULL,
  PRIMARY KEY (`entity_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

Renaming table does help but is not an option here (Don't like to rewrite Magento) 重命名表格确实有帮助,但这里不是一个选项(不希望重写Magento)

For SHOW ENGINE INNODB STATUS I don't have the PROCESS privilege. 对于SHOW ENGINE INNODB STATUS我没有PROCESS特权。

What is wrong with this query? 此查询有什么问题?

The query is valid, so can could be conflicting with another table's constraint name. 该查询有效,因此可能与另一个表的约束名称冲突。 Try specifying the PK name via CONSTRAINT pk_id PRIMARY KEY ( entity_id ) 尝试通过CONSTRAINT pk_id PRIMARY KEY ( Entity_id )指定PK名称

DROP TABLE IF EXISTS `catalog_category_flat_store_1`;
CREATE TABLE `catalog_category_flat_store_1` (
  `entity_id` int(10) NOT NULL,
  CONSTRAINT `pk_id` PRIMARY KEY (`entity_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

它对我有用,请尝试以管理员权限运行mysql并检查用户数据库是否具有所有权限,例如drop,create等。

Looks like my innoDB is broken. 看来我的innoDB已损坏。 I found my problem and a solution. 我找到了问题和解决方案。 Not done testing but looks promissing: 未完成测试,但看起来很麻烦:

https://dba.stackexchange.com/questions/69656/cant-create-table-but-table-doesnt-exist https://dba.stackexchange.com/questions/69656/cant-create-table-but-table-doesnt-exist

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM