自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Mysql函數(shù)Last_insert_id()語法介紹

數(shù)據(jù)庫 MySQL
下文對Mysql函數(shù)Last_insert_id()的語法及使用進(jìn)行了詳細(xì)的闡述和分析,供您參考學(xué)習(xí),如果您對此方面感興趣的話,不妨一看。

Mysql函數(shù)可以實(shí)現(xiàn)許多我們需要的功能,下面介紹的Mysql函數(shù)Last_insert_id()就是其中之一,希望對您學(xué)習(xí)Mysql函數(shù)能有所幫助。

自動(dòng)返回最后一個(gè)INSERT或 UPDATE 查詢中 AUTO_INCREMENT列設(shè)置的第一個(gè)表發(fā)生的值。

  1. mysql> SELECT LAST_INSERT_ID();  
  2.         -> 195 

產(chǎn)生的ID 每次連接后保存在服務(wù)器中。這意味著函數(shù)向一個(gè)給定客戶端返回的值是該客戶端產(chǎn)生對影響AUTO_INCREMENT列的最新語句第一個(gè)AUTO_INCREMENT值的。這個(gè)值不能被其它客戶端影響,即它們產(chǎn)生它們自己的AUTO_INCREMENT值。這個(gè)行為保證了你能夠找回自己的 ID 而不用擔(dān)心受其它客戶端的影響力,而且不需要加鎖處理。

假如你使用一個(gè)非“magic”值來更新某一行的AUTO_INCREMENT 列,則LAST_INSERT_ID() 的值不會(huì)變化(換言之, 一個(gè)不是 NULL也不是 0的值)。

重點(diǎn): 假如你使用一條INSERT語句插入多個(gè)行, LAST_INSERT_ID() 只返回插入的第一行數(shù)據(jù)時(shí)產(chǎn)生的值。其原因是這使依靠其它服務(wù)器復(fù)制同樣的 INSERT語句變得簡單。

例如:

  1. mysql> USE test;  
  2. Database changed  
  3. mysql> CREATE TABLE t (  
  4.     ->   id INT AUTO_INCREMENT NOT NULL PRIMARY KEY,  
  5.     ->   name VARCHAR(10) NOT NULL  
  6.     -> );  
  7. Query OK, 0 rows affected (0.09 sec)  
  8.  
  9. mysql> INSERT INTO t VALUES (NULL, 'Bob');  
  10. Query OK, 1 row affected (0.01 sec)  
  11.  
  12. mysql> SELECT * FROM t;  
  13. +----+------+  
  14. | id | name |  
  15. +----+------+  
  16. | 1 | Bob |  
  17. +----+------+  
  18. 1 row in set (0.01 sec)  
  19.  
  20. mysql> SELECT LAST_INSERT_ID();  
  21. +------------------+  
  22. | LAST_INSERT_ID() |  
  23. +------------------+  
  24. |                1 |  
  25. +------------------+  
  26. 1 row in set (0.00 sec)  
  27.  
  28. mysql> INSERT INTO t VALUES  
  29.     -> (NULL, 'Mary'), (NULL, 'Jane'), (NULL, 'Lisa');  
  30. Query OK, 3 rows affected (0.00 sec)  
  31. Records: 3 Duplicates: 0 Warnings: 0  
  32.  
  33. mysql> SELECT * FROM t;  
  34. +----+------+  
  35. | id | name |  
  36. +----+------+  
  37. | 1 | Bob |  
  38. | 2 | Mary |  
  39. | 3 | Jane |  
  40. | 4 | Lisa |  
  41. +----+------+  
  42. 4 rows in set (0.01 sec)  
  43.  
  44. mysql> SELECT LAST_INSERT_ID();  //注意  
  45. +------------------+  
  46. | LAST_INSERT_ID() |  
  47. +------------------+  
  48. |                2 |  
  49. +------------------+  
  50. 1 row in set (0.00 sec)  
  51.  

雖然第二個(gè)問詢將3 個(gè)新行插入 t, 對這些行的第一行產(chǎn)生的 ID 為 2, 這也是 LAST_INSERT_ID() 返回的值

假如使用 INSERT IGNORE而記錄被忽略,則AUTO_INCREMENT 計(jì)數(shù)器不會(huì)增量,而 LAST_INSERT_ID() 返回0, 這反映出沒有插入任何記錄。
 

 

 

【編輯推薦】

MySQL DATEDIFF()語法介紹

MySQL日期的相關(guān)函數(shù)介紹

帶您了解mysql CONCAT()函數(shù)

MySQL字符串分割并拼接語句介紹

修改mysql默認(rèn)字符集的方法

 

責(zé)任編輯:段燃 來源: 互聯(lián)網(wǎng)
相關(guān)推薦

2022-06-27 07:56:36

Mybatis源碼Spring

2010-10-09 16:04:11

MySQL DATED

2010-11-04 11:45:10

Oracle DECO

2010-10-25 17:00:40

Oracle deco

2010-10-25 15:46:56

Oracle TRIM

2010-10-25 17:17:50

Oracle日期轉(zhuǎn)換函

2018-06-12 15:30:07

數(shù)據(jù)庫MySQLinsert

2009-11-26 18:28:07

PHP函數(shù)trim()

2010-05-20 08:47:21

MySQL數(shù)據(jù)庫

2010-10-11 14:52:43

Mysql觸發(fā)器

2010-10-09 15:07:35

MySQL日期

2010-10-09 15:46:56

MySQL日期時(shí)間

2019-09-20 10:00:33

SQLMySQL數(shù)據(jù)

2023-10-19 08:01:04

FirstLastTake

2010-02-02 14:54:28

Python語法

2010-02-03 17:37:30

Python語法

2010-02-22 16:16:14

Python語法

2009-02-24 14:27:55

2010-09-03 15:27:02

SQLSELECT語句

2009-11-26 10:23:17

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號