Mysql
嘗試更改 MySQL 中的主鍵時出現“臨時文件寫入失敗”
在 MySQL 中,當我嘗試通過此查詢更改主鍵時:
ALTER TABLE `resources` DROP PRIMARY KEY, ADD PRIMARY KEY (`role_id`, `category_id`, `lang`, `model`, `rule`);
我使用 MySQL root 使用者執行此查詢,但發生此錯誤:
#1878 - Temporary file write failure.
我的桌子設計是:
CREATE TABLE `resources` ( `role_id` INT(11) UNSIGNED NOT NULL , `category_id` SMALLINT(5) UNSIGNED NOT NULL DEFAULT 1 , `lang` BINARY(2) NOT NULL , `model` SMALLINT(5) UNSIGNED NOT NULL , `rule` CHAR(4) NOT NULL , PRIMARY KEY (`category_id`, `lang`, `model`, `rule`, `role_id`) ) ENGINE = InnoDB;
該表大約有 2000 行。
我使用 MySQL 5.6
為什麼會出現這個錯誤?
我該怎麼辦?
我有同樣的問題,我做了以下:
create table resources_with_key like resources; alter table resources_with_key add primary key(`category_id`, `lang`, `model`, `rule`, `role_id`); insert into resources_with_key select * from resources;