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();
相关文章推荐
- .net下mysql存储过程返回自定义值(原创)
- mysql中order by的一些特殊用法
- mysql唯一主键生成代码
- Navicat for MySQL使用手记(上)--创建数据库和表
- mysql使用keepalived搭建双master
- Navicat for Mysql 如何备份数据库
- Mysql报Cannot load from mysql.proc. The table is probably corrupted
- percona xtrabackup 2.3.2 MySQL5.6 备份恢复
- 解决MysqlWorkbench Export Data时报错:'delayed-insert'=FALSE
- mysql学习——DATE_SUB()&EXTRACT() 函数
- MySQL提供的可以计算两个时间间隔的函数
- 关于mysql -uroot -p 或者修改密码时候用到mysqladmin
- MySQL计算行
- 完全卸载mysql(停止服务、卸载相关程序、删除注册表)
- mysql 超大SQL文件导入
- mysql 如何修改、添加、删除表主键
- Mac OS X 下 TAR.GZ 方式安装 MySQL
- MySQL5.6中新增特性、不推荐使用的功能以及废弃的功能
- MYSQL用法(十七) MySQL中DATE_FORMAT()用法
- MySQL 模糊检索