mysql 判断表字段是否存在,不存在则添加该字段
需要使用存储过程来实现
-- 如果存在就删除该储存过程
drop procedure if exists add_my_column;
-- 编写储存过程需要修改语句结束符为$$(字符自定义)
delimiter $$
create procedure add_my_column()
begin
if not exists(select *
from information_schema.`COLUMNS`
where table_schema = 'my_database'
and TABLE_NAME = 'my_table'
and COLUMN_NAME = 'xxx')
then
ALTER TABLE `my_table`
ADD COLUMN `xxx` bigint(12) DEFAULT NULL COMMENT 'xxx';
end if;
end$$
-- 储存过程语句完结后需要把分割符改回原来的分号
delimiter ;
call add_my_column(); -- 执行储存过程
drop procedure if exists add_my_column;-- 如果存在就删除该储存过程