MySQL判断表和字段不存在再添加
2016-01-28 15:09
411 查看
不能直接Drop表,要用CREATE
TABLE IF NOT EXISTS来创建表
脚本必须可重复执行,如果要Insert数据必须先Delete
如果字段添加要先判断不存在再添加:
DROPPROCEDUREIFEXISTSpro_AddColumn;
DELIMITER $$
CREATEPROCEDUREpro_AddColumn()
BEGIN
ifnotexists(select 1 frominformation_schema.`COLUMNS` wheretable_schema='数据库'andtable_name='表'andcolumn_name='字段')then
altertable数据库.表add字段datetime;
endif;
END$$
DELIMITER;
CALLpro_AddColumn;
DROPPROCEDUREpro_AddColumn;
修改字段跟MSSQL有所不同:
alter table oa_vehicleused change ID ID bigint(20) NOT NULL AUTO_INCREMENT;
Insert语句必须改成一条批执行语句(多行用逗号隔开),可以大大提升执行速度
TABLE IF NOT EXISTS来创建表
脚本必须可重复执行,如果要Insert数据必须先Delete
如果字段添加要先判断不存在再添加:
DROPPROCEDUREIFEXISTSpro_AddColumn;
DELIMITER $$
CREATEPROCEDUREpro_AddColumn()
BEGIN
ifnotexists(select 1 frominformation_schema.`COLUMNS` wheretable_schema='数据库'andtable_name='表'andcolumn_name='字段')then
altertable数据库.表add字段datetime;
endif;
END$$
DELIMITER;
CALLpro_AddColumn;
DROPPROCEDUREpro_AddColumn;
修改字段跟MSSQL有所不同:
alter table oa_vehicleused change ID ID bigint(20) NOT NULL AUTO_INCREMENT;
Insert语句必须改成一条批执行语句(多行用逗号隔开),可以大大提升执行速度
相关文章推荐
- MysqL的root用户不允许远程连接
- mysql存储过程
- mysql中日期比较大小方法详解
- MySql 申明变量以及赋值
- MySQL的if,case语句使用总结
- MySQL中常用字符串函数
- MySql字符转义
- MySQL查看连接数
- 使用nodejs,express,mysql,Bootstrap开发采购招标网站(三)Bootstrap-table实现Ajax删除数据
- 测试必备技能系列1 :通过mysql命令进行脚本数据导入
- MySQL驱动阅读------Connection连接的建立,基于JDBC-----5.1.26
- MySQL死锁原因分析
- 数据库水平拆分和垂直拆分区别(以mysql为例)
- MySQL性能优化的最佳经验
- MySQL分组数据
- mysql备份脚本
- mysql主从复制
- MySQL忘记密码的解决方案
- MySQL 截取部分日期
- MySQL C API摘要