您好,欢迎来到化拓教育网。
搜索
您的当前位置:首页mysql 兼容序列的解决方案

mysql 兼容序列的解决方案

来源:化拓教育网

实际情况:

在oracle中的获取序列的逻辑,实际上调用了一个方法来获取一个唯一id,
但是为了在不修改代码的基础上,能够兼容orcale和mysql,所以才提出了下面的解决方案!
cobar实际调用的sql语句
==> Preparing: select seq_fun('SEQ_T_APIKEY')


思路

在mysql中创建一个seq_fun的方法,同时创建一张表,利用mysql的自增长生成SEQ_T_APIKEY,语句如下:

CREATE FUNCTION `seq_fun`(tb_name VARCHAR(20)) RETURNS BIGINT(20)
    READS SQL DATA
BEGIN
      CASE
      WHEN tb_name = 'SEQ_T_APIKEY' THEN 
      INSERT myseq VALUES(NULL); DELETE FROM myseq; RETURN LAST_INSERT_ID();
      END CASE;
END$$

缺点

如果要想将序列ID的生成分开,需要创建多张表!

Copyright © 2019- huatuo9.cn 版权所有 赣ICP备2023008801号-1

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务