最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

MYSQL中獲取得最后一條記錄的語句

 更新時(shí)間:2010年03月16日 23:28:46   作者:  
MYSQL中獲取得最后一條記錄的語句,需要的朋友可以參考下。

在MySQL中,使用auto_increment類型的id字段作為表的主鍵,并用它作為其他表的外鍵,形成“主從表結(jié)構(gòu)”,這是數(shù)據(jù)庫設(shè)計(jì)中常見的用法。但是在具體生成id的時(shí)候,我們的操作順序一般是:先在主表中插入記錄,然后獲得自動(dòng)生成的id,以它為基礎(chǔ)插入從表的記錄。這里面有個(gè)困難,就是插入主表記錄后,如何獲得它對(duì)應(yīng)的id。通常的做法,是通過“select max(id) from tablename”的做法,但是顯然這種做法需要考慮并發(fā)的情況,需要在事務(wù)中對(duì)主表加以“X鎖“,待獲得max(id)的值以后,再解鎖。這種做法需要的步驟比較多,有些麻煩,而且并發(fā)性也不好。有沒有更簡(jiǎn)單的做法呢?答案之一是通過select LAST_INSERT_ID()這個(gè)操作。乍一看,它和select max(id)很象,但實(shí)際上它是線程安全的。也就是說它是具體于數(shù)據(jù)庫連接的。下面通過實(shí)驗(yàn)說明:

1、在連接1中向A表插入一條記錄,A表包含一個(gè)auto_increment類型的字段。

2、在連接2中向A表再插入一條記錄。

3、結(jié)果:在連接1中執(zhí)行select LAST_INSERT_ID()得到的結(jié)果和連接2中執(zhí)行select LAST_INSERT_ID()的結(jié)果是不同的;而在兩個(gè)連接中執(zhí)行select max(id)的結(jié)果是相同的。
       其實(shí)在MSSQL中SCOPE_IDENTITY()和IDENT_CURRENT()的區(qū)別和這里是類似的。使用SCOPE_IDENTITY()可以獲得插入某個(gè)IDENTITY字段的當(dāng)前會(huì)話的值,而使用IDENT_CURRENT()會(huì)獲得在某個(gè)IDENTITY字段上插入的最大值,而不區(qū)分不同的會(huì)話。

注:使用select last_insert_id()時(shí)要注意,當(dāng)一次插入多條記錄時(shí),只是獲得第一次插入的id值,務(wù)必注意!可以試試

insert into tb(c1,c2) values (c1value,c2value),(c1value1,c2value2)..。

相關(guān)文章

  • Mysql之如何實(shí)現(xiàn)全外連接

    Mysql之如何實(shí)現(xiàn)全外連接

    這篇文章主要介紹了Mysql之如何實(shí)現(xiàn)全外連接問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-03-03
  • MYSQL存儲(chǔ)過程 注釋詳解

    MYSQL存儲(chǔ)過程 注釋詳解

    這篇文章主要介紹MYSQL存儲(chǔ)的過程,本文圍繞MYSQL存儲(chǔ)詳細(xì)展開文章內(nèi)容,并附上詳細(xì)代碼解析,需要的下伙伴可以參考一下,希望對(duì)你有所幫助
    2021-10-10
  • MySQL三大日志(binlog、redo?log和undo?log)圖文詳解

    MySQL三大日志(binlog、redo?log和undo?log)圖文詳解

    日志是MySQL數(shù)據(jù)庫的重要組成部分,記錄著數(shù)據(jù)庫運(yùn)行期間各種狀態(tài)信息,下面這篇文章主要給大家介紹了關(guān)于MySQL三大日志(binlog、redo?log和undo?log)的相關(guān)資料,需要的朋友可以參考下
    2023-01-01
  • winx64下mysql5.7.19的基本安裝流程(詳細(xì))

    winx64下mysql5.7.19的基本安裝流程(詳細(xì))

    這篇文章主要介紹了winx64下mysql5.7.19的基本安裝流程,需要的朋友可以參考下
    2017-10-10
  • 十億級(jí)MySQL大表的查詢優(yōu)化10種方法

    十億級(jí)MySQL大表的查詢優(yōu)化10種方法

    針對(duì)十億級(jí)MySQL大表的查詢優(yōu)化,本文主要介紹了10種經(jīng)過驗(yàn)證的核心優(yōu)化策略及對(duì)應(yīng)SQL實(shí)現(xiàn)方案,具有一定的參考價(jià)值,感興趣的可以了解一下
    2025-03-03
  • MySQL實(shí)現(xiàn)批量推送數(shù)據(jù)到Mongo

    MySQL實(shí)現(xiàn)批量推送數(shù)據(jù)到Mongo

    這篇文章主要為大家詳細(xì)介紹了MySQL如何實(shí)現(xiàn)批量推送數(shù)據(jù)到Mongo,文中的示例代碼講解詳細(xì),具有一定的學(xué)習(xí)價(jià)值,感興趣的可以了解一下
    2023-05-05
  • 解決ERROR?1129?(HY000):?Host?‘xxx‘?is?blocked?because?of?many問題

    解決ERROR?1129?(HY000):?Host?‘xxx‘?is?blocked?because?

    這篇文章主要介紹了解決ERROR?1129?(HY000):?Host?‘xxx‘?is?blocked?because?of?many問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-04-04
  • MySQL?Server?層四個(gè)日志詳解

    MySQL?Server?層四個(gè)日志詳解

    這篇文章主要介紹了MySQL?Server?層四個(gè)日志,包括錯(cuò)誤日志,查詢?nèi)罩荆M(jìn)制日志及慢查詢?nèi)罩?,本文結(jié)合示例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2022-03-03
  • MySQL8.0之CTE(公用表表達(dá)式)的使用

    MySQL8.0之CTE(公用表表達(dá)式)的使用

    本文主要介紹了MySQL8.0之CTE(公用表表達(dá)式)的使用,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-07-07
  • MySQL的Query Cache原理分析

    MySQL的Query Cache原理分析

    QueryCache(下面簡(jiǎn)稱QC)是根據(jù)SQL語句來cache的。一個(gè)SQL查詢?nèi)绻詓elect開頭,那么MySQL服務(wù)器將嘗試對(duì)其使用QC。每個(gè)Cache都是以SQL文本作為key來存的。
    2008-07-07

最新評(píng)論

从化市| 汶上县| 桃源县| 楚雄市| 确山县| 都安| 卢龙县| 通江县| 新平| 仙桃市| 襄城县| 靖远县| 横峰县| 舒兰市| 三河市| 灵台县| 南丰县| 镇赉县| 东宁县| 夏河县| 新宾| 旺苍县| 万州区| 英德市| 三台县| 黄浦区| 岐山县| 吉首市| 鸡泽县| 花莲县| 灵璧县| 松江区| 沅陵县| 铜陵市| 丽江市| 东乡县| 永登县| 山阴县| 诸城市| 营山县| 宽城|