mysql之 判断字段是否存在,不存在则添加字段

通过存储过程判断字段是否存在,不存在则增加
直接定义存储过程,然后执行存储过程,最后删除存储过程

navicate 中 点击 函数, 点击过程 保存执行

	CREATE PROCEDURE `add_col_homework`()-- 新增一个存储过程

	BEGIN
	
	IF not EXISTS (SELECT column_name FROM information_schema.columns WHERE table_name = 'ot_user' and column_name = 'sfzzh')
	
	-- 判断是否存在字段
	
	THEN
	
	-- 不存在则新增字段
	
	ALTER TABLE admin_atest ADD COLUMN `sfzzh` int(10);
	
	END IF;
	
	END;
	
	call add_col_homework();-- 运行该存储过程
	
	drop PROCEDURE add_col_homework; -- 删除该存储过程

存储过程中 可以写多个判断条件

	IF not EXISTS (SELECT column_name FROM information_schema.columns WHERE table_name ='yw_goods' and column_name = 'huan_bao_enclosure_address')
	-- 判断是否存在字段
	THEN
	-- 不存在则新增字段
	alter table `yw_goods`  add    `huan_bao_enclosure_address` varchar(2550) DEFAULT NULL;
	END IF;
	
	
	IF not EXISTS (SELECT column_name FROM information_schema.columns WHERE table_name = 'yw_goods_spec_base' and column_name = 'skunumber')
	-- 判断是否存在字段
	THEN
	-- 不存在则新增字段
	alter table `yw_goods_spec`  add  `skunumber` varchar(255) DEFAULT '' COMMENT '商品编码';
	END IF;

你可能感兴趣的:(mysql,数据库)