繁体   English   中英

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

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

是的,我已经阅读了有关错误121的所有技巧,但仍然可以

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

我的查询不包含任何约束或键名

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;

重命名表格确实有帮助,但这里不是一个选项(不希望重写Magento)

对于SHOW ENGINE INNODB STATUS我没有PROCESS特权。

此查询有什么问题?

该查询有效,因此可能与另一个表的约束名称冲突。 尝试通过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等。

看来我的innoDB已损坏。 我找到了问题和解决方案。 未完成测试,但看起来很麻烦:

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