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 ;

阅读剩余部分

相关阅读 >>

range()是什么?为什么不生产迭代器?

怎么将mysql数据导出

mysql"军规"

mysql怎么删除数据表?

mysql用户名怎么查看?

mysql 查询结果取交集的方法

mysql修改表时怎么添加主键约束?

mysql编程中的6个实用技巧

mysql 语句执行顺序举例解析

mysql同步sqlserver数据库数据

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


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

数据库系统概念 第6版

机械工业出版社

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



打赏

取消

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

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

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

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

评论

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