2

MySQL データベースの自動インクリメント プライマリ ID フィールドに ZEROFILL を追加しようとしています。コードは次のとおりです (MySQL Workbench によって自動生成されます)。

ALTER TABLE `database`.`table` CHANGE COLUMN `id` `id` INT(11) ZEROFILL NOT NULL AUTO_INCREMENT

これは私が得るエラーです:

Error Code: 1025. Error on rename of './database/#sql-2c8_cb' to './database/table' (errno: 150)

一時テーブルが作成されたようで、一時テーブルの名前を元のテーブル名に変更するとエラーが発生します。

どんな助けでも素晴らしいでしょう!

4

1 に答える 1

0

InnoDB を使用している場合は、変更を実行した直後にステータス モニター (SHOW ENGINE INNODB STATUS) を確認します。FK 制約が原因であるかどうかがわかります。制約を削除し、列を変更して、再度作成する必要がある場合があります。

于 2012-06-25T23:01:43.607 に答える