テーブルの変更を伴う SQL ステートメントを実行すると、「名前変更時のエラー」のようなエラー メッセージが表示されることがあります。この記事では、MySQL エラー 1025 について説明し、特にテーブル変更と外部キー制約のコンテキストに焦点を当てます。
エラー メッセージ「ERROR 1025 (HY000): Error on rename of './product/#sql」 InnoDB テーブルを操作するときに、「-14ae_81' to '/product/region' (errno: 150)」というエラーが頻繁に発生します。このような場合、外部キー制約の役割を理解することが重要です。
この問題を解決するには、テーブルの変更を実行する前に外部キー制約を削除する必要があります。ただし、列名を参照して制約を直接削除することはできません。代わりに、外部キーに関連付けられたインデックス名を特定する必要があります。
次のクエリを実行して、この情報を取得します。
SHOW CREATE TABLE region;
出力には、外部キー制約の詳細が表示されます。インデックス名。例:
CONSTRAINT region_ibfk_1 FOREIGN KEY (country_id) REFERENCES country (id) ON DELETE NO ACTION ON UPDATE NO ACTION
インデックス名を取得したら、次のコマンドを実行します:
alter table region drop foreign key region_ibfk_1; alter table region drop column country_id;
これらの手順に従うことで、テーブルの変更を正常に実行し、MySQL エラー 1025 を解決できます。
以上がMySQL エラー 1025: 外部キー制約に関する「名前変更時のエラー」問題を解決するには?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。