MySQL ALTER による条件付きカラムの削除
MySQL の ALTER コマンドを使用すると、テーブルからカラムを削除する簡単な方法が提供されます。ただし、従来の構文 (ALTER TABLE table_name DROP COLUMN column_name) では、指定されたカラムが存在しない場合にエラーが発生します。
MySQL バージョン 4.0.18 には、条件付きでカラムを削除するための組み込み構文がありません。このような操作を試みると、必然的にエラーが発生します。
これは意図しないデータ操作に対する保護策であると主張する人もいますが、条件付きドロップの柔軟性を望む人もいるでしょう。このような場合、テーブルを変更する前にカラムの存在を手動でチェックしたり、実行中にエラーを処理したりすることができます。
MariaDB Alternative
MySQL のフォークである MariaDB、バージョン 10.0.2 から望ましいソリューションが導入されました。次の構文がサポートされています:
ALTER TABLE table_name DROP [COLUMN] [IF EXISTS] column_name
したがって、次のコマンドを使用して条件付きで MariaDB 内の列を削除できます:
ALTER TABLE my_table DROP IF EXISTS my_column;
ただし、異なる MySQL フォーク間でこの非標準機能に依存することはお勧めできません。
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3