簡體   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