[英]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.