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 ;

阅读剩余部分

相关阅读 >>

vs2015怎么连接到mysql

mysql为什么要索引

浅谈mysql清空表数据的两种方式和区别

mysql数据表的基本操作之表结构操作,字段操作实例分析

redis如何与mysql保持一致性

mysql实现每个专业分数段统计人数

mysql数据库如何创建数据表

删除mysql服务失败怎么办?

怎么查看mysql是否成功启动?

mysql中的update语句怎么使用

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


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

数据库系统概念 第6版

机械工业出版社

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



打赏

取消

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

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

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

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

评论

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