亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 數據庫 > MySQL > 正文

輕松掌握MySQL函數中的last_insert_id()

2024-07-24 13:11:33
字體:
來源:轉載
供稿:網友

前言

最近一個同事問我,為什么last_insert_id()得到的結果與預期的不一樣呢,于是我就認真的去研究的一下這個參數,下面是關于last_insert_id()的詳細介紹,一起來學習學習吧。

首先,舉個例子

wing@3306>show create table tt;+-------+-----------------------------------------------------------------------------------------------------------------------+| Table | Create Table                           |+-------+-----------------------------------------------------------------------------------------------------------------------+| tt | CREATE TABLE `tt` ( `id` int(11) NOT NULL AUTO_INCREMENT, PRIMARY KEY (`id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8 |+-------+-----------------------------------------------------------------------------------------------------------------------+1 row in set (0.00 sec)# 沒有指定值的時候,last_insert_id()符合預期希望wing@3306>insert into tt values();Query OK, 1 row affected (0.00 sec)wing@3306>select last_insert_id();+------------------+| last_insert_id() |+------------------+|    1 |+------------------+1 row in set (0.00 sec)wing@3306>insert into tt values();Query OK, 1 row affected (0.00 sec)wing@3306>select last_insert_id();+------------------+| last_insert_id() |+------------------+|    2 |+------------------+1 row in set (0.00 sec)# what?不是應該是5么,為什么是第一個插入的值3?last_insert_id開始有一點不符合預期了。。wing@3306>insert into tt values(),(),();Query OK, 3 rows affected (0.01 sec)Records: 3 Duplicates: 0 Warnings: 0wing@3306>select last_insert_id();+------------------+| last_insert_id() |+------------------+|    3 |+------------------+1 row in set (0.00 sec)wing@3306>insert into tt values(),(),();Query OK, 3 rows affected (0.01 sec)Records: 3 Duplicates: 0 Warnings: 0wing@3306>select last_insert_id();+------------------+| last_insert_id() |+------------------+|    6 |+------------------+1 row in set (0.00 sec)# 納尼?按照預期不是10么?為什么還是之前的6?last_insert_id()我不懂你啊。。wing@3306>insert into tt values(10);Query OK, 1 row affected (0.01 sec)wing@3306>select last_insert_id();+------------------+| last_insert_id() |+------------------+|    6 |+------------------+1 row in set (0.00 sec)

其次,研究一下

查閱MySQL官方文檔,真的太重要了。。。

官方出處:http://dev.mysql.com/doc/refman/5.6/en/information-functions.html#function_last-insert-id

官方文檔原話:

With no argument, LAST_INSERT_ID() returns a 64-bit value representing the first automatically generated value successfully inserted for an AUTO_INCREMENT column as a result of the most recently executed INSERT statement.

翻譯:

沒有參數的last_insert_id()返回的是最近一次針對autoincrement列執行的INSERT語句的第一個自動生成的值。

官方文檔原話:

If you insert multiple rows using a single INSERT statement, LAST_INSERT_ID() returns the value generated for the first inserted row only. The reason for this is to make it possible to reproduce easily the same INSERT statement against some other server.

翻譯:

如果你在單條INSERT語句中插入多個值,那么last_insert_id()返回的是該INSERT語句第一個自動生成的值。

然后,剖析一下

請認真閱讀上述翻譯中的黑色字體,牢記last_insert_id()的約束。

為什么插入指定的值,last_insert_id()就失效了呢?

官方文檔明明說了,是自動生成的值啊,不是你指定的值啊,是由autoincremnt計數器自己生成的才能被last_insert_id()追蹤到哇。。

為什么多值插入的時候,顯示的是第一條插入值啊,last不是最后一個值的意思么啊啊啊。。

官方文檔明明說了,是最近一次的INSERT語句**自動生成的第一個值**哇哇哇。。

總結

記住last_insert_id()的約束。最近一次INSERT語句在autpincrement列上自動生成的第一個值。總結的這句話比翻譯的那句話感覺順口多了==

好了,以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作能帶來一定的幫助,如果有疑問大家可以留言交流。


注:相關教程知識閱讀請移步到MYSQL教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美专区在线观看| 亚洲v日韩v综合v精品v| 岛国av一区二区| 国产精品久久久久久亚洲调教| 国产一区二区三区毛片| 欧美国产视频日韩| 色偷偷综合社区| 久久久久国产一区二区三区| 久久久电影免费观看完整版| 茄子视频成人在线| 欧美黑人一级爽快片淫片高清| 成人观看高清在线观看免费| 国产精品成人av性教育| 永久免费看mv网站入口亚洲| 欧美性猛交xxxx富婆弯腰| 日韩精品在线视频美女| 亚洲网站在线看| 亚洲一区二区久久久久久久| 国产美女主播一区| 欧美激情精品久久久久| 成人在线一区二区| 国产精品激情av电影在线观看| 精品福利在线观看| 欧美日韩人人澡狠狠躁视频| 欧美精品成人91久久久久久久| 在线看日韩欧美| 亚洲第一网中文字幕| 日韩av大片在线| 欧美寡妇偷汉性猛交| 国产精品黄页免费高清在线观看| 欧美激情精品久久久| 26uuu另类亚洲欧美日本一| 亚洲第一男人天堂| 欧美最猛性xxxxx免费| 久久夜色精品国产| 91国产视频在线播放| 国产丝袜一区二区三区免费视频| 精品成人av一区| 亚洲一区二区国产| 午夜精品久久久久久99热软件| 国产精品91在线观看| 欧美日韩亚洲激情| 欧美性高潮在线| 欧洲成人免费aa| 国产精品久久久久久久app| 成年人精品视频| 亚洲精品suv精品一区二区| 成人妇女免费播放久久久| 久久99亚洲精品| 久久久www成人免费精品张筱雨| 日韩欧美在线看| 日韩中文字幕第一页| 国产中文字幕日韩| 国产精品激情自拍| 久久精品国产久精国产思思| 91产国在线观看动作片喷水| 国产成人综合一区二区三区| 欧美在线视频观看免费网站| 亚洲三级 欧美三级| 日韩高清免费观看| 国产欧洲精品视频| 全亚洲最色的网站在线观看| 高清欧美性猛交xxxx| 久久综合色88| 久久综合五月天| 国产精品久久久久免费a∨| 日韩麻豆第一页| 欧洲一区二区视频| 国产综合在线视频| 欧美性xxxx极品高清hd直播| 在线免费观看羞羞视频一区二区| 中文字幕日韩欧美在线视频| 97在线免费视频| 亚洲人成电影网站色www| 欧美激情在线播放| 国产精品美女视频网站| 日韩欧美成人免费视频| 欧美成人一区二区三区电影| 日韩精品视频观看| 精品爽片免费看久久| 成人在线一区二区| 国产精品永久免费在线| 亚洲男人av在线| 97在线视频免费| 久久人体大胆视频| 欧美日韩中文字幕在线| 亚洲精品国产精品国自产在线| 欧美亚洲伦理www| 国产成人激情视频| 亚洲成成品网站| 日本aⅴ大伊香蕉精品视频| 91成人国产在线观看| 国产午夜精品一区理论片飘花| 欧美第一黄色网| 欧美精品免费在线观看| 久久香蕉国产线看观看av| 亚洲乱码av中文一区二区| 亚洲天堂av电影| 欧美性xxxxx极品娇小| 国产成人高潮免费观看精品| 国产在线久久久| 少妇高潮久久久久久潘金莲| 欧美一级片免费在线| 亚洲免费视频一区二区| 美日韩精品免费观看视频| 亚洲人成绝费网站色www| 亚洲国产精品yw在线观看| 欧美视频免费在线| 亚洲免费一在线| 91精品国产电影| 欧美黑人巨大xxx极品| 精品久久久久久久久久国产| 亚洲春色另类小说| 久久久国产在线视频| 精品偷拍一区二区三区在线看| 日韩精品在线观看一区二区| 欧美激情videos| 亚洲电影在线看| 在线观看国产成人av片| 久久久久久久久91| 欧美电影在线播放| 亚洲第一网站男人都懂| 欧美精品亚州精品| 欧美黄色小视频| 欧美亚洲国产视频| 久久久久久久爱| 欧美性猛xxx| 欧美大片在线看免费观看| 久久精品国产成人| 欧美俄罗斯乱妇| 97国产精品视频人人做人人爱| 日韩美女写真福利在线观看| 精品国产乱码久久久久久婷婷| 在线亚洲国产精品网| 91在线观看免费观看| 国产欧美中文字幕| 黄色精品在线看| 亚洲国产高清福利视频| 精品中文字幕在线| 麻豆乱码国产一区二区三区| 欧美性做爰毛片| 欧美诱惑福利视频| 2018中文字幕一区二区三区| 国产精品久久婷婷六月丁香| 综合国产在线视频| 欧美电影免费观看高清| 久久久精品电影| 国产精品第七十二页| 国产精品一区二区久久精品| 亚洲精品98久久久久久中文字幕| 成人免费xxxxx在线观看| 成年人精品视频| 欧美激情videoshd| 亚洲欧美另类人妖| 欧美在线视频在线播放完整版免费观看| 亚洲欧洲视频在线| 激情成人中文字幕| 中文字幕在线观看亚洲| 热草久综合在线| 久热爱精品视频线路一| 精品国产乱码久久久久久虫虫漫画| 97视频人免费观看| 午夜精品久久久久久久99热浪潮| 国产v综合v亚洲欧美久久|