MySQL ALTER による条件付きカラムの削除
MySQL の ALTER コマンドを使用すると、テーブルからカラムを削除する簡単な方法が提供されます。ただし、従来の構文 (ALTER TABLE table_name DROP COLUMN column_name) では、指定されたカラムが存在しない場合にエラーが発生します。
MySQL バージョン 4.0.18 には、条件付きでカラムを削除するための組み込み構文がありません。このような操作を試行すると、必然的にエラーが発生します。
これは意図しないデータ操作に対する保護策であると主張する人もいますが、条件付きドロップの柔軟性を望む人もいるでしょう。このような場合、テーブルを変更する前にカラムの存在を手動で確認したり、実行中にエラーを処理したりできます。
MariaDB Alternative
MariaDB、MySQL のフォーク、バージョン 10.0.2 から望ましいソリューションが導入されました。次の構文をサポートしています:
ALTER TABLE table_name DROP [COLUMN] [IF EXISTS] column_name
したがって、次のコマンドを使用して MariaDB 内の列を条件付きで削除できます:
ALTER TABLE my_table DROP IF EXISTS my_column;
ただし、これに依存することは重要です。異なる MySQL フォーク間で非標準機能を使用することはお勧めできません。
以上がMySQL で条件付きでカラムを削除するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。