問題:
既存の MySQL テーブルに列を追加したいと考えています。既存のデータは上書きされませんが、列がまだ上書きされていない場合に限ります。
解決策:
ストアド プロシージャを使用してテーブルに列を安全に追加する包括的な方法を次に示します。
DELIMITER $$ DROP PROCEDURE IF EXISTS add_column_if_not_exists $$ CREATE PROCEDURE add_column_if_not_exists() BEGIN -- Add a column if it does not exist IF NOT EXISTS( (SELECT * FROM information_schema.COLUMNS WHERE TABLE_SCHEMA=DATABASE() AND COLUMN_NAME='my_new_column' AND TABLE_NAME='my_table_name') ) THEN ALTER TABLE my_table_name ADD my_new_column varchar(255) NOT NULL DEFAULT ''; END IF; END $$ CALL add_column_if_not_exists() $$ DELIMITER ;
この解決策次の要因に対処します:
以上がMySQL カラムが存在しない場合にのみ安全に追加する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。