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

如何使Mysql自動(dòng)生成序號(hào)列,序號(hào)自動(dòng)增長問題

 更新時(shí)間:2023年07月17日 17:08:01   作者:charles·wang  
這篇文章主要介紹了如何使Mysql自動(dòng)生成序號(hào)列,序號(hào)自動(dòng)增長問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

Mysql自動(dòng)生成序號(hào)列,序號(hào)自動(dòng)增長

在Oracle中有ROWNUM 這個(gè)功能,可以很方便的得到序列號(hào)。

但是Mysql中始終沒有實(shí)現(xiàn)這個(gè)功能的函數(shù),那當(dāng)我們需要的時(shí)候該怎么處理呢?

使用Msyql的自定義變量

1.自定義變量放在FROM后面

使用 @var 定義變量 ,這個(gè)變量定義是基于connection的。

也就是當(dāng)連接斷開重連的時(shí)候,@var中的值會(huì)被清空,因此我們最好每次都給它一個(gè)初始值。

SELECT @i:=@i+1 AS '序號(hào)' , a.name FROM AREA a,(SELECT @i:=5) i?

變量 @i :

  • 在SELECT 得到每一行結(jié)果集都會(huì)先自增1 ;
  • 在FROM 后面的(SELECT @i:=5) 每次sql執(zhí)行都會(huì)初始化變量@i的值為5 。

2.自定義變量放在WHERE后面

其實(shí)這個(gè)變量的初始化值并不一定非要放在FROM后面,也可以像下面這樣。

這是由于 sql的執(zhí)行順序決定的,在select 執(zhí)行前 初始化變量即可 。

SELECT @a:=@a+1 AS '序號(hào)' , a.name FROM AREA a WHERE (SELECT @a:=5)

區(qū)別

在 WHERE 后面使用變量的時(shí)候, 不能初始化賦值0(WHERE (SELECT @a:=0)) ,這個(gè)是因?yàn)?在 WHERE 后面被認(rèn)為是 false 。這樣不能搜索到任何結(jié)果。

Mysql存儲(chǔ)過程生成編號(hào)自增

例如

編號(hào)1,2,3,4,5…n依次遞增1

CREATE PROCEDURE khbh1(out khbh varchar(255))
begin
DECLARE n int;
declare lsh int;
– 查詢系統(tǒng)流水表中有多少條數(shù)據(jù)
select count(*) into n from SKT176;
– 如果為0,把1賦值給流水號(hào),再將系統(tǒng)編號(hào)插入進(jìn)系統(tǒng)流水表中。否則查詢系統(tǒng)流水表中最大的起始編號(hào),依次往上+1
IF n=0 then
set lsh =1;
insert into 系統(tǒng)流水表(起始編號(hào)) values(lsh);
else
select Max(起始編號(hào)) INTO lsh from 系統(tǒng)流水表;
SET lsh=lsh+1;
update 系統(tǒng)流水表 SET 起始編號(hào)=lsh where id=1;
end if;
– 輸出編號(hào)1,2,3,4,5,6…
set khbh=lsh;
end;

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • MySQL中的性別字段到底加不加索引

    MySQL中的性別字段到底加不加索引

    這篇文章主要介紹了MySQL中的性別字段到底加不加索引問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-04-04
  • MySQL存儲(chǔ)Json字符串遇到的問題與解決方法

    MySQL存儲(chǔ)Json字符串遇到的問題與解決方法

    要在MySQL中存儲(chǔ)數(shù)據(jù),必須定義數(shù)據(jù)庫和表結(jié)構(gòu),下面這篇文章主要給大家介紹了關(guān)于MySQL存儲(chǔ)Json字符串遇到的問題與解決方法,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-07-07
  • debian6配置mysql允許遠(yuǎn)程連接的方法(圖)

    debian6配置mysql允許遠(yuǎn)程連接的方法(圖)

    這篇文章主要介紹了debian6配置mysql允許遠(yuǎn)程連接的方法,大家可以參考,最后可看圖
    2013-11-11
  • MySQL 中  DATE_FORMAT() 函數(shù)的使用及應(yīng)用場景

    MySQL 中  DATE_FORMAT() 函數(shù)的使用及應(yīng)用場景

    DATE_FORMAT() 是 MySQL 中的一個(gè)內(nèi)置函數(shù),用于格式化日期和時(shí)間數(shù)據(jù),它可以根據(jù)指定的格式字符串來展示日期和時(shí)間,使得數(shù)據(jù)更容易閱讀和理解,本文檔將詳細(xì)介紹 DATE_FORMAT() 函數(shù)的使用方法及其常見應(yīng)用場景,感興趣的朋友一起看看吧
    2024-12-12
  • Mysql的SELECT語句與顯示表結(jié)構(gòu)詳解

    Mysql的SELECT語句與顯示表結(jié)構(gòu)詳解

    這篇文章主要介紹了Mysql的SELECT語句與顯示表結(jié)構(gòu)詳解的相關(guān)資料,需要的朋友可以參考下
    2023-01-01
  • mysql like查詢字符串示例語句

    mysql like查詢字符串示例語句

    在mysql中如果我們要模糊查詢數(shù)據(jù)我們可以使用like帶%%號(hào)來實(shí)現(xiàn)查詢,下面我來簡單的介紹一下關(guān)于mysql like使用方法
    2013-10-10
  • mysql記錄根據(jù)日期字段倒序輸出

    mysql記錄根據(jù)日期字段倒序輸出

    這篇文章主要介紹了mysql記錄根據(jù)日期字段倒序輸出 的相關(guān)資料,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下
    2016-07-07
  • MySQL5.1忘記root密碼的解決辦法(親測)

    MySQL5.1忘記root密碼的解決辦法(親測)

    這篇文章主要介紹了MySQL5.1忘記root密碼的解決辦法(親測)的相關(guān)資料,需要的朋友可以參考下
    2016-01-01
  • MySQL數(shù)據(jù)庫事務(wù)transaction示例講解教程

    MySQL數(shù)據(jù)庫事務(wù)transaction示例講解教程

    這篇文章主要為大家介紹了MySQL數(shù)據(jù)庫事務(wù)transaction的示例講解教程,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步
    2021-10-10
  • Mysql中關(guān)于on,in,as,where的區(qū)別

    Mysql中關(guān)于on,in,as,where的區(qū)別

    這篇文章主要介紹了Mysql中關(guān)于on,in,as,where的區(qū)別說明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-03-03

最新評(píng)論