mysql数据库sequence使用
来源:互联网 发布:阿里云输入法 编辑:程序博客网 时间:2024/05/18 13:11
为了早点测试数据方便些,就在测试库里搞了个sequence里用用看了,具体实践步骤如下:
1、创建sequence表
Create TableCREATE TABLE `test_sequence` ( `seq_name` varchar(50) NOT NULL DEFAULT '' COMMENT '业务模块字段名称 自定义', `minvalue` int(11) NOT NULL DEFAULT '1' COMMENT '最小值', `maxvalue` int(11) NOT NULL DEFAULT '999999999' COMMENT '最大值', `current_val` int(11) NOT NULL DEFAULT '1' COMMENT '当前值', `increment_val` int(11) NOT NULL DEFAULT '1' COMMENT '增长步长', PRIMARY KEY (`seq_name`)) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='叶测试数据sequence生成表'
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='叶测试数据sequence生成表'
2、为该表创建function方法
CREATE FUNCTION `_nextval`(NAME VARCHAR(50))RETURNS INTEGERBEGIN DECLARE `_cur` INT; DECLARE `_maxvalue` INT; DECLARE `_minvalue` INT; DECLARE `_increment` INT; SET `_increment` = (SELECT `increment_val` FROM `test_sequence` WHERE `seq_name` = NAME); SET `_maxvalue` = (SELECT `maxvalue` FROM `test_sequence` WHERE `seq_name` = NAME ); SET `_cur` = (SELECT `current_val` FROM `test_sequence` WHERE `seq_name` = NAME); UPDATE `test_sequence` SET `current_val` = `_cur` + `increment_val` WHERE `seq_name` = NAME; IF(`_cur` + `_increment` >= `_maxvalue`) THEN -- 判断都达到最大值 UPDATE `test_sequence` SET `current_val` = `minvalue` WHERE `seq_name` = NAME; END IF; RETURN `_cur`; END;
3、使用举例
INSERT INTO `log_rtx_send_records` (`prd_id`, `status`, `send_time`, `person_id`) VALUES('testdd'+_nextval('商品号自增值'),'0','2016-12-05 21:11:54',NULL);
阅读全文
0 0
- mysql数据库sequence使用
- 数据库序列( SEQUENCE)的使用
- Oracle数据库Sequence创建与使用
- mysql sequence
- mysql sequence
- 学习使用数据库MySQL
- MySQL数据库使用
- asp使用mysql数据库
- 使用MySQL数据库
- 学习使用数据库MySQL
- mysql数据库使用注意事项
- MYSQL数据库使用笔记
- MySQL 数据库使用技巧
- MYSQL数据库使用小结
- Django使用mysql数据库
- mysql数据库使用
- Django使用MySQL数据库
- mysql 数据库使用
- Java项目转变为Java Web项目
- Python [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed 解决方法【转】
- uboot的启动分析1
- Linux文件操作
- 字典序问题
- mysql数据库sequence使用
- 奥威Power-BI之人力资源管理驾驶舱
- 7、Ping和Traceroute程序
- 第15条:使可变性最小化
- Android自定义View(一) 画线段
- javaScript学习-动态为ul添加li
- wince整体解决方案编译错误的解决办法(StdAfx.obj' not allowed with multiple source files )
- Android数据加密之Aes加密
- Android7.0 PowerManagerService(4) Power按键流程