sql数据表要新增字段,最好这样写脚本
2012-09-28 17:15
253 查看
[root@localhost tsmis3003-sp1-base-20120924]# vi update.sql use test;drop procedure if exists 3003_base1_20120924_update_table_file;DELIMITER ;;CREATE PROCEDURE `3003_base1_20120924_update_table_file`()BEGINif not exists(select 1 from information_schema.COLUMNS where TABLE_SCHEMA='test' and table_name='SystemConfig' and COLUMN_NAME='TrafficLightFrequency') thenalter table SystemConfig add column TrafficLightFrequency tinyint(3) default 2;end if;if not exists(select 1 from information_schema.COLUMNS where TABLE_SCHEMA='test' and table_name='BaseConfig' and COLUMN_NAME='DistOfOverStopline') thenalter table BaseConfig add column DistOfOverStopline int(10) default 0;end if;IF EXISTS(SELECT 1 FROM information_schema.COLUMNS WHERE TABLE_SCHEMA='test' AND table_name='VersionInfo' AND COLUMN_NAME='verDB') theninsert into VersionInfo(verTSMIS,verDB) values('TSMISV3.0.0.3','3.0.0.5');End IF;END;;DELIMITER ;call 3003_base1_20120924_update_table_file();DROP PROCEDURE IF EXISTS `test`.`3003_base1_20120924_update_table_file`;
然后写一个升级脚本,只要一句
mysql -u root test<update.sql
就搞定了,这样做的好处是可以避免重复升级导致mysql报字段冲突的错误。
然后写一个升级脚本,只要一句
mysql -u root test<update.sql
就搞定了,这样做的好处是可以避免重复升级导致mysql报字段冲突的错误。
相关文章推荐
- 用sql脚本,进行向已创建好的表中,省及所对应的城市的表 数据的新增
- 10. 数据模型(ER图)转为sql脚本,要求导出的字段都是大写的
- 批量生成修改数据库表字段类型SQL脚本
- SQL脚本--(通用存储过程)如何删除表中某个字段重复的数据
- ORACLE数据库中为每个数据表建立序列字段插入值的触发器的SQL脚本
- SQL获取指定数据表所有字段类型和精度脚本
- SQL获取指定数据表所有字段类型和精度脚本
- SQL获取指定数据表所有字段类型和精度脚本
- SQL查询某表是否存在及返回新增数据的ID
- java.sql.Types,数据库字段类型,java数据类型的对应关系
- sql语句新增记录时获取自增字段的方法
- ONLY三行脚本, SQL数据恢复到指定时间点
- Sql 查询同一个表中两个字段里相同的数据
- sql 查询表字段相同的数据
- SQL读取指定数据表中的所有字段说明
- Sql语句构造类,多字段新增或修改时,拼装sql语句比较方便
- Scripts:查询每个数据文件等待时间的脚本perf_file_waits.sql
- 【原创】SQLServer将数据导出为SQL脚本的方法
- Sqlserver更新数据表xml类型字段内容某个节点值的脚本
- sql查询表中字段值相同的数据记录