问题:
您想要向现有 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中文网其他相关文章!