mysql 判断表字段是否存在,然后修改
2015-12-17 19:20
1251 查看
-- ---------------------------- -- 判断 vrv_paw_rule 表是否存在 thresholdMin 字段,不存在则添加; 存在则修改字段类型 DELIMITER ?? DROP PROCEDURE IF EXISTS schema_change?? CREATE PROCEDURE schema_change() BEGIN IF NOT EXISTS (SELECT * FROM information_schema.columns WHERE table_schema = DATABASE() AND table_name = 'vrv_paw_rule' AND column_name = 'thresholdMin') THEN ALTER TABLE vrv_paw_rule ADD COLUMN thresholdMin BIGINT; ELSE ALTER TABLE vrv_paw_rule MODIFY COLUMN thresholdMin BIGINT ; END IF; END?? DELIMITER ; CALL schema_change();
delimit命令:
就是告诉mysql解释器,该段命令是否已经结束了,mysql是否可以执行了,即改变输入结束符。
默认情况下,delimiter是分号“;”。
在命令行客户端中,如果有一行命令以分号结束,
那么回车后,mysql将会执行该命令。
但有时候,不希望MySQL这么做。因为可能输入较多的语句,且语句中包含有分号。
默认情况下,不可能等到用户把这些语句全部输入完之后,再执行整段语句。
因为mysql一遇到分号,它就要自动执行。
这种情况下,就可以使用delimiter,把delimiter后面换成其它符号,如//或$$。
此时,delimiter作用就是对整个小段语句做一个简单的封装。
此命令多用在定义子程序,触发程序等mysql自己内嵌小程序中。
相关文章推荐
- mysql5.6版本安装步骤详解
- 阿里云 Ubuntu 14.04 安装mysql 5.6
- MySQL 5.7 新特性详解
- mysql 安装问题
- mysql insert_select ID 自增长
- MySQL 忘记密码后的重置操作
- Mysql String Functions
- mysql5.6源码安装
- mysql Table 'performance_schema.session_variables' doesn't exist
- mysql复制
- MySQL安装包
- Mysql安装步骤
- mysql 安装与配置
- 老李分享:loadrunner操作mysql数据库
- mysql 基于LVM快照的备份
- 老李分享:MySql的insert语句的性能优化方案
- sqlsever,mysql,orcale,判断null值方法
- ubuntu15.04 C客户端操作mysql
- MySQL配置文件my-innodb-heavy-4G.cnf 中文注释
- mysql 去除重复记录