1. 程式人生 > >mysql實現nextVal功能

mysql實現nextVal功能

首先建立表:

CREATE TABLE `sys_sequence` (
   `NAME` varchar(50) NOT NULL,
   `CURRENT_VALUE` int(11) NOT NULL DEFAULT '0',
   `INCREMENT` int(11) NOT NULL DEFAULT '1',
   PRIMARY KEY (`NAME`)
 )

插入記錄
INSERT INTO SYS_SEQUENCE(NAME,CURRENT_VALUE,INCREMENT) VALUES('TBL_FS', 1,1)
DELIMITER $$

DROP FUNCTION IF EXISTS `currval`$$

CREATE DEFINER=`root`@`%` FUNCTION `currval`(seq_name VARCHAR(50)) RETURNS INT(11)
BEGIN
DECLARE VALUE INTEGER;
SET VALUE=0;
SELECT current_value INTO VALUE
FROM sys_sequence 
WHERE NAME=seq_name;
RETURN VALUE;
END$$

DELIMITER ;


查詢當前記錄:
select currval('TBL_FS');
如果出現Error Code: 1449 The user specified as a definer ('root'@'%') does not exist 錯誤,則執行如下sql:
grant all privileges on *.* to [email protected]"%" identified by "password"; 
flush privileges;  
繼續執行當前記錄sql則成功

建立nextval函式

DELIMITER $$
DROP FUNCTION IF EXISTS `nextval`$$

CREATE DEFINER=`root`@`%` FUNCTION `nextval`(seq_name varchar(50)) RETURNS int(11)
BEGIN
UPDATE sys_sequence
SET CURRENT_VALUE = CURRENT_VALUE + INCREMENT
where name=seq_name;
return currval(seq_name);
END$$
執行nextval函式
select nextval('tbl_fs')




相關推薦

mysql實現nextVal功能

首先建立表: CREATE TABLE `sys_sequence` ( `NAME` varchar(50) NOT NULL, `CURRENT_VALUE` int(11) NOT NULL DEFAULT '0', `INCREMENT` int

mysql實現row_number() 功能

分享圖片 ffffff where rom ESS image 排名 分享 number 查詢test表按group_id分組取sort_id前100個 SELECT id AS ‘原數據ID‘,group_id AS ‘分組ID‘,sort_id AS ‘排序條件‘,n

Java+MySQL實現附近功能

思路 優化 引用資料 示例原始碼 其實對於那種地理位置不會變的兩個主體之間的距離,最好是直接將結果靜態化。也就是直接寫死在配置裡。 比如,找自己家附近的地鐵站。 這種情況下,一般而言“家”這個主體是不會輕易“跑來跑去”的。每次查詢都計算

spring+springmvc+mybatis+mysql實現登入功能(上)

注:classpath 指的為target資料夾,classpath*為有多個classpath時使用。 1.在idea中建立maven 工程。 具體過程:File -》new project -》選擇maven  勾選create from archetype,選中以w

android-servlet-mysql實現登錄註冊功能

final 選擇 alt sta 姓名 delete byte[] dsta pstmt 安卓項目圖: 安卓端Get請求服務端登錄代碼: import java.io.BufferedReader;import java.io.InputStream;import

[實操筆記]MySQL主從同步功能實現

就會 class tails 修改 高可用性 innodb leg 讀寫 mil 寫在前邊: 這兩天來了個需求,配置部署兩臺服務器的MySQL數據同步,折騰了兩天查了很多相關資料,一直連不上,後來發現其實是數據庫授權的ip有問題,我們用的服務器是機房中的虛擬機加上反向代理出

php+mysql實現英漢查詢詞典的功能

php mysql 查詢 詞典 1.建立數據庫 create database worddb; 2.創建表 create table words( id int auto_increment primary key, en_word varchar(128) not null,

PHP+MySQL實現留言板功能(三)完整版

由於前段時間過於忙碌,加上小編有重灌了電腦系統,一直沒有去復現這個功能,後面復現過程中,程式碼做了一些調整。今天我將完整版的程式碼和sql檔案程式碼整理出來,供各位學習參考。   1.資料庫SQL檔案 index.php <html> <head>

PHP+MySQL實現留言板功能(二)

上次我們做了登陸註冊頁面的前端設計,這一節我們實現登陸和註冊 結合上次的登陸註冊頁面,這次我們先實現註冊,那麼,我們就要先寫註冊頁面的後端處理程式碼。我們將其命名為:doregister.php  程式碼如下。 <?php require_once "connet.php"; r

PHP+MySQL實現留言板功能(一)

1.登陸註冊頁面前端設計        由於小編第一次寫部落格,加上前端知識還不夠紮實,本文小編著重處理後端,及PHP連線資料庫,實現新增留言,刪除留言功能。話不多說,我們直接上程式碼。   登陸頁面設計:我們將其命名為:in

vue+node.js+mysql實現視訊彈幕功能

主體html結構 <div class="vedio-container"> <div class="barrage-container-wrap" ref="barWrapper"> <div class="video-wrapper">

php+mysql實現簡訊驗證碼功能

class Sms { const EXPIRE_SEC = 300; // 過期時間間隔 5分鐘 const RESEND_SEC = 60; // 重發時間間隔 const ONE_DAY_FREQ = 10; // 每日向同一個手機號發簡訊的次數

Spring boot+idea+MySQL實現簡單的使用者登入功能

環境:idea+spring boot 2.1.0  + 資料庫MySQL 需求:在前端頁面輸入使用者名稱和密碼進入資料庫裡驗證,若和資料庫裡匹配則跳轉到新的頁面,若不匹配則返回登入頁面 ps:筆者也是新手,最近在學習spring boot框架,希望通過這樣的方式來鞏固和

No.5 MYSQL實現 RANK函式排序功能

 MySQL中不存在類似於SQL Server或Orcal中的rank()函式來得到排名。所以我們需要手動來時先這個函式,先看一下應用場景: 查詢每門課成績最好的前兩名: select r.cid,score,rank from (select tmp.cid,tmp.sc

Sybase資料庫實現等效的mysql中group_concat功能

在MySQL中,如果想實現將分組之後的多個數據合併到一列,可以使用group_concat函式,如下圖所示: 但是,在Sybase中沒有這樣的函式(別問我為什麼使用Sybase,因為公司用的Syb

使用hibernate連結MySql實現新增資料功能

開發工具: MyEclipse2013 , 資料庫: MySql 1.首先, 在資料庫中建立資料庫 , 我使用的資料庫工具是SQLyog. 建立如下資料庫: 資料庫建立完成後開啟MyEcl

Mysql實現文章查詢上一篇和下一篇功能,附sql語句?

mysql實現文章查詢上一篇和下一篇功能,附sql語句? Mysql實現文章查詢上一篇和下一篇功能,sql語句: 1 (select * from articles where id < #id# order by id desc limit 1)

Android實現登入功能,Android與伺服器資料互動,使用tomcat、mysql實現登入的demo程式,web端和android均可實現登入

1.使用到的開發工具為:Eclipse(Java EE),Android Studio,MYSQL 5.7.21;2.首先在MYSQL資料庫建表,我這裡使用的資料庫視覺化操作軟體為:navicat premium:如圖:這裡你可以取自己喜歡的資料庫名字,但是為了方便起見,我建

使用DBUtils為MySQL實現連線池功能

MySQL預設一個連線超過8小時無操作就斷開該連線,對於想要長期保持連線的應用場景而言,太不方便 Python的MySQL繫結MySQLdb 發現DBUtils是一個不錯的Python連線池 工具,根據這篇文章的程式碼,執行條SQL insert語句,發現有unicode錯

mysql 實現split函式功能實現把由空格分割的片語每個單詞的首字母轉換成大寫的功能

1.mysql沒有split這樣功能的函式,但是有的時候可能用到,可以手工編寫函式實現該功能。 下面的兩個函式是從別的地方copy過來的~ 1. 函式func_splitStringTotal:將字串按指定方式分割,並計算單元總數DELIMITER $$ CREATE FU