2019独角兽企业重金招聘Python工程师标准>>>

  • MYSQL实现ORACLE的nextval方式

新建函数,如下:

-- --------------------------------------------------------------------------------
-- Routine DDL
-- Note: comments before and after the routine body will not be stored by the server
-- --------------------------------------------------------------------------------
DELIMITER $$

CREATE DEFINER=`root`@`localhost` FUNCTION `nextval`(seq_name varchar(100)) RETURNS bigint(20)
BEGIN
    DECLARE cur_val bigint(20);
 
    SELECT cur_value INTO cur_val FROM sequence WHERE name = seq_name;
 
    IF cur_val IS NOT NULL THEN
        UPDATE
            sequence
        SET cur_value = cur_value + increment
        WHERE name = seq_name;
    END IF;
    RETURN cur_val;
END

  • 新建表sequence


CREATE TABLE `sequence` (
  `name` varchar(100) NOT NULL,
  `increment` int(11) unsigned NOT NULL DEFAULT '1',
  `cur_value` bigint(20) unsigned DEFAULT '1',
  PRIMARY KEY (`name`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

  • 应用使用SSI,通过 select nextval('SEQ') 获得序列值。
  • 遇到的问题:当select nextval('A') 后,再在另外的功能点中使用select nextval('B') 时,提示无column nextval('A'),抛出SQL异常。开始没搞明白,百度&谷歌都出动了。后来细想了下,应该是第2次的时候nextval('A')被当成了别名。故在ibatis的SQL配置中稍作修改select nextval('A') as x,就OK了。

转载于:https://my.oschina.net/pandakf/blog/119205

MYSQL 类ORACLE序列实现遇到的问题相关推荐

  1. Mysql和Oracle 数据库操作工具类

    适配Mysql和Oracle数据源 文章目录 1. 适配Mysql和Oracle数据源 2. 适配于Mysql数据源 3. 适配Oeacle数据源 1. 适配Mysql和Oracle数据源 packa ...

  2. Mysql创建自增序列方案(模拟Oracle序列)

    Mysql实现自增序列 mysql自带了自增序列,为了方便通过数据库获取唯一的增长序列满足业务需求,模拟oracle序列完成序列获取方案:为了达到oracle序列的效果,在mysql创建函数来完成模拟 ...

  3. 总结java数据类型和mysql、oracle、pgsql数据类型对应关系,附数据库字段类型转java类型代码

    java的基本数据类型有八种: byte.short.int.long.float.double.char.boolean 总结java和mysql.oracle.pgsql数据类型对应关系 java ...

  4. 数据库笔记——Mysql、Oracle、Sqlserver || Redis、Memcached、mongoDB环境搭建

    个人数据库基础笔记,将各类数据库从环境搭建到使用简单回忆整理,方便自己回顾知识点,也同大家分享下: 关系型数据库(一般基于Jdbc和Sql语法):Mysql   .Oracle .SqlServer ...

  5. MySQL与Oracle数据类型对比

    MySQL与Oracle两种数据库在工作中,都是用的比较多的数据库,由于MySQL与Oracle在数据类型上有部分差异,在我们迁移数据库时,会遇上一定的麻烦,下面介绍MySQL与Oracle数据库数据 ...

  6. Mysql、Oracle——面试题汇总

    介绍下MySQL和Oracle MySQL是一个轻量级的关系型数据库(开源) Oracle是一个重量级的关系型数据库(收费) MySQL的两种存储引擎 INNODB: 支持事务,支持外键,支持表级锁. ...

  7. 求职知识整理一(前后端分离,前端模式,数据库知识点:sql,MySQL,Oracle,jdbc)

    目录 今日事: 1.前后端分离(常见的是前端写静态页面,后端套用模板) 2.前端开发中的MVC/MVP/MVVM模式 一.数据库(MySql,Oracle,SQL Server)(基本的数据库操作语句 ...

  8. Mysql与Oracle区别

    Mysql与Oracle区别 文章分类:数据库 周五去一家公司去面试,那公司经理问了关于Mysql与Oracle的区别问题,以前没有总结,回答也不是很好,只是凭感觉,先总结如下: 1. Oracle是 ...

  9. mysql和oracle冲突吗_三分钟带你分清MySQL 和Oracle之间的误区

    原标题:三分钟带你分清MySQL 和Oracle之间的误区 来自:华为云开发者社区 摘要:MySQL和Oracle,别再傻傻分不清. MySQL 和Oracle 在开发中的使用是随处可见的,那就简单去 ...

最新文章

  1. 系统自带的mysqldump 与 mydumper备份速度比较
  2. 《Python数据分析》-Ch01 Python 程序库入门
  3. 框架源码系列四:手写Spring-配置(为什么要提供配置的方法、选择什么样的配置方式、配置方式的工作过程是怎样的、分步骤一个一个的去分析和设计)...
  4. ART深度探索开篇:从Method Hook谈起
  5. 盘点计算机世界那些经典谣言
  6. 类似collect2: ld returned 1 exit status的错误
  7. SpringBoot+Shiro+ehcache实现登录失败超次数锁定帐号
  8. Vue cli3+Hubuilder将项目打包为App
  9. 退休后多长时间能领到工资?
  10. mysql基础8-运算符、函数、索引
  11. redis string底层数据结构
  12. ANSI C、ISO C、Standard C、C89、C90、C99
  13. Qt/QML离线地图瓦片下载工具(瓦片地图)
  14. c语言浪漫烟花表白,C语言实战之浪漫烟花表白程序.pdf
  15. Java反射专题笔记
  16. 【学习笔记】Python_Faker,制造测试数据的第三方库,创建姓名、手机、电话、浏览器头、时间、地址等
  17. 解决App自动化的不稳定因素-弹框及首页启动加载完成判断处理
  18. linux系统文件复制过程时长,Linux系统I/O操作与零拷贝
  19. 绝地求生服务器维护需要多久,绝地求生8月4日更新到几点?绝地求生维护一次需要多长时间?...
  20. review代码从哪些角度_CodeReview正确的姿势是什么?

热门文章

  1. 初学者如何学习机器学习中的L1和L2正则化
  2. Centos7:update-initramfs -u:command not found
  3. 《数字孪生体技术白皮书(2019)》(简版)全文
  4. 数据驱动的未来城市八大趋势
  5. 12年后,人工智能和人类会是什么样?这是900位专家的看法|报告
  6. MIT人工突触芯片新突破:指甲大小的芯片有望媲美超算
  7. 浅析强化学习及使用Policy Network实现自动化控制
  8. 3G网络关闭,4G还会远吗?
  9. 腾讯云产业生态战略再升级,“4个100”与合作伙伴助力中小企业转型升级
  10. 如何真正理解用Nginx代理来解决同源策略