ホームページ >データベース >mysql チュートリアル >制約を削除して再作成せずに、MySQL で外部キー列の名前を変更するにはどうすればよいですか?
MySQL での外部キー列の名前変更: ステップバイステップ ガイド
として機能する MySQL の列の名前を変更しようとする場合外部キーを別のテーブルに追加すると、外部キー制約の問題を示すエラー 150 が発生することがよくあります。これを克服するには、「外部キーを削除し、列の名前を変更し、外部キーを再作成するという複雑なタスクを回避できますか?
標準的なアプローチ
MySQL のドキュメントと提供された回答によると、最も安全で簡単な方法は、外部キー制約を削除し、列名の変更を実行してから、外部キーを再確立することです。<code class="sql">ALTER TABLE table_name DROP FOREIGN KEY fk_name; ALTER TABLE table_name RENAME COLUMN old_name TO new_name; ALTER TABLE table_name ADD FOREIGN KEY fk_name (new_name) REFERENCES related_table(related_column);</code>
代替方法
外部キーの削除と再読み込みは一般に信頼性がありますが、特に大規模なテーブルの場合、面倒で潜在的に危険なプロセスになる可能性があります。いくつかの代替アプローチが存在しますが、常にサポートされているわけではなく、すべての場合に適切であるとは限りません。推奨事項
外部キー列の名前を変更する最も信頼性が高く保証された方法としては、制約を削除して再確立するという標準的なアプローチをお勧めします。データベースの変更を実行する前に、最新のバックアップが作成されていることを確認してください。以上が制約を削除して再作成せずに、MySQL で外部キー列の名前を変更するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。