mysql 修改表结构 判断并添加column
来源:Asp之家 发布时间:2010-10-25 20:07:00
1、查找表结构,判断要加入的列是否已存在
2、如果不存在,则执行添加
CREATE PROCEDURE `mysql_sp_add_column`(
IN p_DBName varchar(64) --数据库名
, IN p_TableName varchar(100) --表名
, IN p_ColumnName varchar(100) --字段名
, IN p_ColumnType varchar(200) --字段类型
, IN p_ColumnOtherInfo varchar(200) --字段其他属性
)
NOT DETERMINISTIC
CONTAINS SQL
SQL SECURITY DEFINER
COMMENT ''
BEGIN
declare tmpColumnName varchar(100);
declare tmpSqlStr varchar(500);
declare tmpSqlToRun varchar(500);
select column_name into tmpColumnName from information_schema.columns
where table_name = p_TableName and column_name = p_ColumnName ;
if tmpColumnName is null then
set tmpSqlStr = " ";
set tmpSqlStr = concat(tmpSqlStr ," ALTER TABLE " , p_TableName);
set tmpSqlStr = concat(tmpSqlStr ," ADD ", p_ColumnName, " " ,p_ColumnType , " " ,p_ColumnOtherInfo , " ; " );
SET @sql = tmpSqlStr;
prepare tmpSqlToRun from @sql;
EXECUTE tmpSqlToRun;
end if;
END;


猜你喜欢
- 一、环境win10、Python3.6、OpenCV3.x;编译器:pycharm5.0.3二、实现目标根据需要追踪的物体颜色,设定阈值,在
- 前言日常生活中,手残党们经常会把一些照片拍歪,比如拍个证件、试卷、PPT什么的,比如下面这本书的封面原本是个矩形,随手一拍就成了不规则四边形
- 一、策略模式策略模式中,首先定义了一系列不同的算法,并把它们一一封装起来,然后在策略类中,使这些算法可以相互替换。这意味着,让一个类的行为(
- 涉及到的函数为import matplotlib.pyplot as pltfrom skimage import measure, col
- 现像如下:站点无法打开,或者打开很慢.HTML可以打开.重新启动或者回收应用程序池可恢复.但过一段时间又会出现日志里会有:ISAPI
- 本文实例讲述了Python实现获取系统临时目录及临时文件的方法。分享给大家供大家参考,具体如下:在开发应用程序的过程中,会有一些临时的信息,
- 需求和思路在一般的小项目或者一个小软件,例如客户端之类的小程序中,可能会需要数据的持久化.但是使用一般的数据库(Mysql)之类的不合适.使
- 本文实例讲述了Python基于opencv实现的简单画板功能。分享给大家供大家参考,具体如下:import cv2import numpy
- 实验环境:tensorflow版本1.2.0,python2.7介绍关于空洞卷积的理论可以查看以下链接,这里我们不详细讲理论:1.Long
- 本文实例讲述了js实现简单的联动菜单效果。分享给大家供大家参考。具体如下:这是一个最简单的js联动菜单代码,在DW里可以自动生成,不想在DW
- 数据修改主要以增删改差为主,这里比较几种写法在数据处理时间上的巨大差别。数据量大概是500万行级别的数据,文件大小为100M。1.iloci
- 新建一个lvm磁盘,这里我建的lv为mydatalv,挂载到了/data下[root@localhost ~]# lvs LV
- 方法一:回归实现def PowerSetsRecursive(items): """Use rec
- 有的时候,操作大文件,或者取数,要很久,我们给脚本首尾添加一段代码就知道,这段代码整体的大致运行时间了。import timestart =
- 前段时间在生活中偶尔需要对某些文件进行重命名,而且是随机名字,刚开始是手动重命名然后在键盘上胡乱打一些字母数字,时间长了发现也挺麻烦的,于是
- 本文实例讲述了Python基于回溯法子集树模板解决全排列问题。分享给大家供大家参考,具体如下:问题实现 'a', '
- 前言: 在 MySQL 运维过程中,锁等待和死锁问题是令各位 DBA 及开发同学非常头痛的事。出现此类问题会造成业务回滚、卡顿等故
- python是支持多线程的,主要是通过thread和threading这两个模块来实现的。thread模块是比较底层的模块,th
- 一、项目介绍爬取网址:CSDN首页的Python、Java、前端、架构以及数据库栏目。简单分析其各自的URL不难发现,都是https://w
- 前言SQLSERVER 2005中不知因何去掉了很重要的DEBUGGER功能,要调试,必须要安装VS2005专业版或者更高版本。非常不方便。