主頁 > 知識庫 > mysql實(shí)現(xiàn)自增序列的示例代碼

mysql實(shí)現(xiàn)自增序列的示例代碼

熱門標(biāo)簽:武漢網(wǎng)絡(luò)外呼系統(tǒng)服務(wù)商 電話外呼系統(tǒng)改號 南昌三維地圖標(biāo)注 啥是企業(yè)400電話辦理 曲靖移動外呼系統(tǒng)公司 怎樣在地圖標(biāo)注銷售區(qū)域 地圖標(biāo)注費(fèi)用是多少 百應(yīng)電話機(jī)器人優(yōu)勢 外呼系統(tǒng)打電話上限是多少

1.創(chuàng)建sequence表

CREATE TABLE `sequence` (
 `name` varchar(50) COLLATE utf8_bin NOT NULL COMMENT '序列的名字',
 `current_value` int(11) NOT NULL COMMENT '序列的當(dāng)前值',
 `increment` int(11) NOT NULL DEFAULT '1' COMMENT '序列的自增值',
 PRIMARY KEY (`name`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;

2.創(chuàng)建–取當(dāng)前值的函數(shù)

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 ; 

3.創(chuàng)建–取下一個值的函數(shù)

DROP FUNCTION IF EXISTS nextval; 
DELIMITER $ 
CREATE FUNCTION nextval (seq_name VARCHAR(50)) 
   RETURNS INTEGER 
   LANGUAGE SQL 
   DETERMINISTIC 
   CONTAINS SQL 
   SQL SECURITY DEFINER 
   COMMENT '' 
BEGIN 
   UPDATE sequence 
     SET current_value = current_value + increment 
     WHERE name = seq_name; 
   RETURN currval(seq_name); 
END 
$ 
DELIMITER ; 

4.創(chuàng)建–更新當(dāng)前值的函數(shù)

DROP FUNCTION IF EXISTS setval; 
DELIMITER $ 
CREATE FUNCTION setval (seq_name VARCHAR(50), value INTEGER) 
   RETURNS INTEGER 
   LANGUAGE SQL 
   DETERMINISTIC 
   CONTAINS SQL 
   SQL SECURITY DEFINER 
   COMMENT '' 
BEGIN 
   UPDATE sequence 
     SET current_value = value 
     WHERE name = seq_name; 
   RETURN currval(seq_name); 
END 
$ 
DELIMITER ; 

5.測試添加實(shí)例 執(zhí)行sql

INSERT INTO sequence VALUES ('testSeq', 0, 1);-- 添加一個sequence名稱和初始值,以及自增幅度
 
SELECT SETVAL('testSeq', 10);-- 設(shè)置指定sequence的初始值
 
SELECT CURRVAL('testSeq');-- 查詢指定sequence的當(dāng)前值
 
SELECT NEXTVAL('testSeq');-- 查詢指定sequence的下一個值

到此這篇關(guān)于mysql實(shí)現(xiàn)自增序列的示例代碼的文章就介紹到這了,更多相關(guān)mysql 自增序列內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • mysql自增ID起始值修改方法
  • mysql如何讓自增id歸0解決方案
  • 怎么重置mysql的自增列AUTO_INCREMENT初時值
  • Java獲取最后插入MySQL記錄的自增ID值的3種方法
  • mysql中自增auto_increment功能的相關(guān)設(shè)置及問題
  • MySQL rownumber SQL生成自增長序號使用介紹
  • 關(guān)于Mysql自增id的這些你可能還不知道
  • MySQL分表自增ID問題的解決方法
  • mysql自增id超大問題的排查與解決
  • mysql修改自增長主鍵int類型為char類型示例
  • 利用Java的MyBatis框架獲取MySQL中插入記錄時的自增主鍵

標(biāo)簽:吉林 錦州 甘南 黑河 資陽 隨州 滄州 荊州

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《mysql實(shí)現(xiàn)自增序列的示例代碼》,本文關(guān)鍵詞  mysql,實(shí)現(xiàn),自增,序列,的,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《mysql實(shí)現(xiàn)自增序列的示例代碼》相關(guān)的同類信息!
  • 本頁收集關(guān)于mysql實(shí)現(xiàn)自增序列的示例代碼的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章