欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

MySQL如何設(shè)置自動(dòng)增長序列SEQUENCE的方法

 更新時(shí)間:2021年12月22日 10:25:26   作者:ReaderWriter  
本文主要介紹了MySQL如何設(shè)置自動(dòng)增長序列SEQUENCE的方法,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

本文主要介紹了MySQL如何設(shè)置自動(dòng)增長序列 SEQUENCE,具體如下:

解決思路:由于mysql不帶sequence,所以要手寫的,創(chuàng)建一張儲(chǔ)存sequence的表(emp_seq),然后手動(dòng)插入一條數(shù)據(jù) ,最后自定義一個(gè)函數(shù)來處理要增長的值。

1.創(chuàng)建表emp_seq,用來存放sequence值:

說明:

  • name這個(gè)列,是為了讓函數(shù)更好的通過條件來進(jìn)行DML操作,
  • start_value,儲(chǔ)存了自增序列開始時(shí)的值,
  • increment_value,存儲(chǔ)了自增序列步進(jìn)的值。
create table emp_seq (
	name varchar(50) not null primary key,
	start_value int not null,
	increment_value int not null default 1
);

2.手動(dòng)插入數(shù)據(jù):

說明:

  • ‘empno'見名之意,
  • 第一個(gè)1,說明序列從1開始,
  • 第二個(gè)1,說明序列每次增長1。
insert into emp_seq values('empno',1,1);

3.定義函數(shù) nextval:

說明:

  • DELIMITER // ->定義語句結(jié)束符,其中//前面有一個(gè)空格,平常我們都是用分號(hào);作為語句結(jié)束符。但是創(chuàng)建的函數(shù)中,是多條語句組合而成,每條語句也是使用分號(hào);作為語句結(jié)束符,若沒有重新定義語句結(jié)束符,數(shù)據(jù)庫會(huì)認(rèn)為declare i int;這里的分號(hào)是結(jié)束符,會(huì)報(bào)錯(cuò)。所以在這我們重新定義一個(gè)語句結(jié)束符//,直到end;//這里才會(huì)結(jié)束整段代碼。
  • function 自定義函數(shù) (user-defined function UDF),它是對MySQL功能的一個(gè)擴(kuò)展,
  • declare 聲明變量
DELIMITER //
create function nextval(str varchar(50)) returns integer
begin
	declare i int;
	set i=(select start_value from emp_seq where name=str);
	update emp_seq
		set start_value=i+increment_value
	where name=str;
return i;
end;
//
 

4.恢復(fù)默認(rèn)的語句結(jié)束符:

說明:

  • DELIMITER ; ->定義語句結(jié)束符(其中delimiter后跟了一個(gè)空格一個(gè)分號(hào)),也就是把分號(hào)作為語句結(jié)束符。因?yàn)樯厦嬉呀?jīng)把函數(shù)建立好了,所以在這里重新定義結(jié)束符,為的是以后更方便的執(zhí)行SQL語句,平常我們使用SQL語句,習(xí)慣用分號(hào)作為結(jié)束符的。
DELIMITER ;

5.為了更方便的執(zhí)行SQL命令,我把這些代碼復(fù)制到記事本中,并把文件存到D盤根目錄下,改名為emp_seq.sql

?

6.執(zhí)行外部SQL腳本命令

若沒有提示,說明建立成功。如何執(zhí)行外部SQL腳本命令,客官可移步:MySQL執(zhí)行外部sql腳本文件的命令

?

7.成功導(dǎo)入sql腳本后,那咱們就需要驗(yàn)證一下,進(jìn)入mysql,并進(jìn)入數(shù)據(jù)庫,我這里是jsd170101


OK,連續(xù)執(zhí)行sql語句獲取序列,從上圖清楚的看到,結(jié)果從1開始,每次自增1

8.下面說說如何應(yīng)用在DML語句中

我的數(shù)據(jù)庫里已有empno=6的數(shù)據(jù),這里我讓start_value增長到7,再插入一條信息:

查看下結(jié)果:

到此這篇關(guān)于MySQL如何設(shè)置自動(dòng)增長序列SEQUENCE的方法的文章就介紹到這了,更多相關(guān)MySQL 自動(dòng)增長序列SEQUENCE內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Java三個(gè)類加載器及它們的相互關(guān)系

    Java三個(gè)類加載器及它們的相互關(guān)系

    Java在需要使用類別的時(shí)候,才會(huì)將類別加載,Java的類別載入是由類別載入器(Class loader)來達(dá)到的,預(yù)設(shè)上,在程序啟動(dòng)之后,主要會(huì)有三個(gè)類別加載器,文中詳細(xì)介紹了這三個(gè)類加載器,需要的朋友可以參考下
    2021-06-06
  • springBoot mybatis 包掃描實(shí)例

    springBoot mybatis 包掃描實(shí)例

    這篇文章主要介紹了springBoot mybatis 包掃描實(shí)例,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-07-07
  • Java實(shí)戰(zhàn)之課程在線學(xué)習(xí)系統(tǒng)的實(shí)現(xiàn)

    Java實(shí)戰(zhàn)之課程在線學(xué)習(xí)系統(tǒng)的實(shí)現(xiàn)

    本文將采用SpringBoot+Spring+Mybatis+Thyeleaf實(shí)現(xiàn)一個(gè)課程在線學(xué)習(xí)系統(tǒng),采用SpringBoot框架實(shí)現(xiàn)?前臺(tái)模板用的thymeleaf數(shù)據(jù)庫層采用mybatis框架注解模式,感興趣的可以了解一下
    2022-04-04
  • java怎么連接并訪問activemq

    java怎么連接并訪問activemq

    這篇文章主要介紹了java怎么連接并訪問activemq,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-07-07
  • Java的鎖機(jī)制:synchronized和CAS詳解

    Java的鎖機(jī)制:synchronized和CAS詳解

    這篇文章主要介紹了Java的鎖機(jī)制synchronized和CAS詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-09-09
  • 學(xué)習(xí)C語言對后期java有幫助嗎

    學(xué)習(xí)C語言對后期java有幫助嗎

    在本篇文章里小編給大家整理的是一篇關(guān)于學(xué)習(xí)C語言對后期java有幫助嗎的基礎(chǔ)文章,有興趣的朋友們可以參考下。
    2020-11-11
  • Spring?Boot?4.0對于Java開發(fā)的影響和前景

    Spring?Boot?4.0對于Java開發(fā)的影響和前景

    探索Spring?Boot?4.0如何徹底革新Java開發(fā),提升效率并開拓未來可能性!別錯(cuò)過這篇緊湊的指南,它帶你領(lǐng)略Spring?Boot的強(qiáng)大魅力和潛力,準(zhǔn)備好了嗎?
    2024-02-02
  • Java基礎(chǔ)總結(jié)之Thymeleaf詳解

    Java基礎(chǔ)總結(jié)之Thymeleaf詳解

    Thymeleaf是一種現(xiàn)代的基于服務(wù)器端的Java模板引擎技術(shù),也是一個(gè)優(yōu)秀的面向Java的XML、XHTML、HTML5頁面模板,它具有豐富的標(biāo)簽語言、函數(shù)和表達(dá)式,在使用Spring Boot框架進(jìn)行頁面設(shè)計(jì)時(shí),一般會(huì)選擇Thymeleaf模板,需要的朋友可以參考下
    2021-05-05
  • Java中的ProcessBuilder類詳細(xì)解析

    Java中的ProcessBuilder類詳細(xì)解析

    這篇文章主要介紹了Java中的ProcessBuilder類詳細(xì)解析,ProcessBuilder類是J2SE 1.5在java.lang中新添加的一個(gè)新類,此類用于創(chuàng)建操作系統(tǒng)進(jìn)程,它提供一種啟動(dòng)和管理進(jìn)程的方法,需要的朋友可以參考下
    2024-01-01
  • java中ArrayList和LinkedList的區(qū)別詳解

    java中ArrayList和LinkedList的區(qū)別詳解

    這篇文章主要介紹了java中ArrayList和LinkedList的區(qū)別詳解,幫助大家更好的理解和使用Java,感興趣的朋友可以了解下
    2021-01-01

最新評論