MySQL での外部キー列の名前変更: 総合ガイド
問題:
MySQL (5.1.31、InnoDB) で外部キー列の名前を変更するときにエラー (エラー 1025: 名前変更時のエラー) が発生しました。このエラーは、問題が外部キー制約に関連していることを示唆しています。制約を削除して再作成せずに名前の変更を行うことはできますか?
回答:
残念ながら、外部キー制約を削除し、列の名前を変更してから制約を追加し直すことになります。この問題に対する既知の唯一の解決策はこれです。このアプローチにより、プロセス全体を通じて外部キー関係が確実に維持されます。
ステップバイステップの手順:
<code class="sql">ALTER TABLE table_name DROP FOREIGN KEY foreign_key_name;</code>
<code class="sql">ALTER TABLE table_name RENAME COLUMN old_column_name TO new_column_name;</code>
<code class="sql">ALTER TABLE table_name ADD FOREIGN KEY (new_column_name) REFERENCES other_table(other_column);</code>
ヒント:
代替アプローチ:
以上が制約を削除して再作成せずに、MySQL の外部キー列の名前を変更できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。