您的位置:首页 > 数据库 > MySQL

MySQL 表添加字段 存储过程实现 IF NOT EXISTS

2015-11-16 15:43 1046 查看
-- 创建表语句(对于已经存在的表不再建立)
create table IF NOT EXISTS t1(id int not null);
create table IF NOT EXISTS t2(id int not null);

-- 添加字段存储过程(对于已经存在的字段不再添加)
DROP PROCEDURE IF EXISTS p_alter_table;
delimiter //

CREATE PROCEDURE p_alter_table()
begin
-- table t1
IF NOT EXISTS(SELECT 1 FROM information_schema.COLUMNS WHERE TABLE_SCHEMA='test' AND table_name='t1' AND COLUMN_NAME='name')
and EXISTS(SELECT 1 FROM information_schema.TABLES WHERE TABLE_SCHEMA='test' AND table_name='t1') THEN
ALTER TABLE t1 ADD column name VARCHAR(30);
END IF;

-- table t1
IF NOT EXISTS(SELECT 1 FROM information_schema.COLUMNS WHERE TABLE_SCHEMA='test' AND table_name='t2' AND COLUMN_NAME='name')
and EXISTS(SELECT 1 FROM information_schema.TABLES WHERE TABLE_SCHEMA='test' AND table_name='t2') THEN
ALTER TABLE t2 ADD column name VARCHAR(50);
END IF;

end;
//

delimiter ;

call p_alter_table();
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: