mysql 增加字段脚本,以及删除主键约束的脚本,存储过程
2023-09-27 14:25:11 时间
//增加一个库下面所有表的row_id和其他9个字段的存过 DELIMITER $$ USE `erptest`$$ DROP PROCEDURE IF EXISTS `UPTABLE`$$ CREATE DEFINER=`root`@`localhost` PROCEDURE `UPTABLE`() BEGIN declare _tableName varchar(50); declare _done int default 0; declare _cur cursor for select table_name from information_schema.`COLUMNS` where table_schema = 'erptest'(库名) group by table_name; declare continue handler for sqlstate '02000' set _done=1; open _cur; repeat fetch _cur into _tableName; if not _done then begin if not exists(select * from information_schema.`COLUMNS` where table_schema = 'erptest' and table_name = _tableName and column_name='EXT_Row_Id')then set @stmt := concat("alter table ",_tableName," add EXT_Row_Id varchar(32) primary key not null comment '主键,不为空', add EXT_Date_Time datetime comment '时间戳 YYYY-MM-DD HH:MM:SS', add EXT_Ogg_Seq bigint not null comment '自增序列', add EXT_flag varchar(10) comment '操作标识', add EXT_Src_System varchar(100) not null comment '来源系统', add EXT_Valid_Flag varchar(1) default '1' not null comment '有效标识', add EXT_Provincial_Flag varchar(5) comment '来源单位', add EXT_Reserve1 varchar(100) comment '预留字段1', add EXT_Reserve2 varchar(100) comment '预留字段2', add EXT_Reserve3 varchar(100) comment '预留字段3';"); prepare stmt from @stmt; execute stmt; end if; end; end if; until _done end repeat; close _cur; set _done = 0; END$$ DELIMITER ; //删除一个mysql库下面所有有主键的表中的主键存过 DELIMITER $$ USE `erptest`$$ DROP PROCEDURE IF EXISTS `dropkey`$$ CREATE DEFINER=`root`@`localhost` PROCEDURE `dropkey`() BEGIN declare _tableName varchar(50); declare _done int default 0; declare _cur cursor for select table_name from information_schema.`KEY_COLUMN_USAGE` where table_schema = 'erptest' group by table_name; declare continue handler for sqlstate '02000' set _done=1; open _cur; repeat fetch _cur into _tableName; if not _done then begin set @stmt := concat("alter table ",_tableName," drop primary key;"); prepare stmt from @stmt; execute stmt; end; end if; until _done end repeat; close _cur; set _done = 0; END$$ DELIMITER ;
相关文章
- Ubuntu 安装 mysql、sqlite3、postgresql
- mysql中,mediunmtext字段类型用来存储什么类型的数据?最大存储多少数据?
- 有趣的 Mysql 存储引擎
- MySQL 存储引擎
- 【MySQL高级】存储过程和函数
- MySQL 流程控制
- MySQL 8 存储JSON
- MySQL 时间类型 datetime、bigint、timestamp,选哪个?
- centos7 安装 mysql(在线安装)
- MySQL新建数据库详细说明
- MYSQL存储过程基础入门教程
- MySQL修改存储过程(ALTER PROCEDURE)/删除存储过程(DROP PROCEDURE)
- 《PHP和MySQL Web开发从新手到高手(第5版)》一2.9 删除存储的数据
- 基于 PHP + MySQL 图书库存管理系统【100010765】
- 网络爬虫数据存储MySQL和Mongodb方法汇总
- mysql存储过程中传decimal值会自动四舍五入,没有小数
- MySQL 索引与查询优化
- MySQL数据库服务器 主从配置
- mysql LAST_INSERT_ID 使用与注意事项
- mysql中min和max查询优化
- mysql中使用存储过程方法中的注意事项
- mysql 存储过程 小实例
- 2023年mysql常见面试题,mysql知识点详解
- MySQL innodb 的间隙锁定(next-key locking)
- LoadRunner驱动MySQL性能测试
- MySQL Merge存储引擎
- mysql一个SQL案例
- MySQL key/value存储方案(转)
- 图数数据库引擎tinkerpop(3) 使用java调用tinkerpop,存储到mysql数据库
- MySQL初步笔记,有待整理
- 【曹工杂谈】Mysql客户端上,时间为啥和本地差了整整13个小时,就离谱
- 高性能 MySQL(三):事务与锁详解
- Docker安装MySQL