mysql如何实现自增序列


本文摘自PHP中文网,作者醉折花枝作酒筹,侵删。

本篇文章给大家介绍一下mysql实现自增序列的方法。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。

1.创建sequence表

1

2

3

4

5

6

CREATE TABLE `sequence` (

  `name` varchar(50) COLLATE utf8_bin NOT NULL COMMENT '序列的名字',

  `current_value` int(11) NOT NULL COMMENT '序列的当前值',

  `increment` int(11) NOT NULL DEFAULT '1' COMMENT '序列的自增值',

  PRIMARY KEY (`name`)

) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;

2.创建?C取当前值的函数

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

DROP FUNCTION IF EXISTS currval;

DELIMITER $

CREATE FUNCTION currval (seq_name VARCHAR(50))

     RETURNS INTEGER

     LANGUAGE SQL

     DETERMINISTIC

     CONTAINS SQL

     SQL SECURITY DEFINER

     COMMENT ''

BEGIN

     DECLARE value INTEGER;

     SET value = 0;

     SELECT current_value INTO value

          FROM sequence

          WHERE name = seq_name;

     RETURN value;

END

$

DELIMITER ;

阅读剩余部分

相关阅读 >>

mysql中乐观锁和悲观锁的介绍(代码示例)

mysql权限及安全管理

mysql设计规范与原则

关于生产库中遇到mysql的子查询示例详解

mysql学习之java连接mysql数据库的图文代码实例

如何使用navicat进行mysql命令行操作?

mysql多久可以学会?

常用的dbms包括哪些

mysql出现错误编码1114怎么办

浅谈mysql表空间回收的正确姿势

更多相关阅读请进入《mysql》频道 >>


数据库系统概念 第6版
书籍

数据库系统概念 第6版

机械工业出版社

本书主要讲述了数据模型、基于对象的数据库和XML、数据存储和查询、事务管理、体系结构等方面的内容。



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...

    暂无评论...