Mysql函数可以实现许多我们需要的功能,下面介绍的Mysql函数Last_insert_id()就是其中之一,希望对您学习Mysql函数能有所帮助。

自动返回最后一个INSERT或 UPDATE 查询中 AUTO_INCREMENT列设置的第一个表发生的值。
1. mysql> SELECT LAST_INSERT_ID();
2. -> 195
产生的ID 每次连接后保存在服务器中。这意味着函数向一个给定客户端返回的值是该客户端产生对影响AUTO_INCREMENT列的最新语句第一个 AUTO_INCREMENT值的。这个值不能被其它客户端影响,即它们产生它们自己的AUTO_INCREMENT值。这个行为保证了你能够找回自己的 ID 而不用担心受其它客户端的影响力,而且不需要加锁处理。
假如你使用一个非“magic”值来更新某一行的AUTO_INCREMENT 列,则LAST_INSERT_ID() 的值不会变化(换言之, 一个不是 NULL也不是 0的值)。
重点: 假如你使用一条INSERT语句插入多个行, LAST_INSERT_ID() 只返回插入的第一行数据时产生的值。其原因是这使依靠其它服务器复制同样的 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.
虽然第二个问询将3 个新行插入 t, 对这些行的第一行产生的 ID 为 2, 这也是 LAST_INSERT_ID() 返回的值
假如使用 INSERT IGNORE而记录被忽略,则AUTO_INCREMENT 计数器不会增量,而 LAST_INSERT_ID() 返回0, 这反映出没有插入任何记录。
作者:未知 来源:网络
注意:尽量避免使用
相关:mysql中的coalesce用法

转载于:https://www.cnblogs.com/langtianya/p/4941961.html

Mysql函数:Last_insert_id()语法讲解相关推荐

  1. mysql navicat 函数_Navicat for MySQL 函数高级属性讲解

    原标题:Navicat for MySQL 函数高级属性讲解 过程和函数是一组可以保存在服务器上的 SQL 语句.MySQL()函数高级属性主要涉及安全性.定义者.数据访问.决定性等方面的内容. Na ...

  2. Mysql函数Last_insert_id()的真正含义

    2019独角兽企业重金招聘Python工程师标准>>> mysql手册中说SELECT last_insert_id()是多用户安全的. LAST_INSERT_ID() LAST_ ...

  3. Mysql数据库存储过程基本语法讲解

    Mysql数据库存储过程基本语法讲解 一般情况下MYSQL以:结尾表示确认输入并执行语句,但在存储过程中:不是表示结束,因此可以用该命令将:号改为//表示确认输入并执行.存储过程如同一门程序设计语言, ...

  4. mysql lastid_轻松掌握MySQL函数中的last_insert_id()

    前言 最近一个同事问我,为什么last_insert_id()得到的结果与预期的不一样呢,于是我就认真的去研究的一下这个参数,下面是关于last_insert_id()的详细介绍,一起来学习学习吧. ...

  5. MySQL函数和操作符(超详细,备着查找)

    一.操作符 1.1 操作符优先级 以下列表显示了操作符优先级的由低到高的顺序.排列在同一行的操作符具有相同的优先级. 操作符 优先级 := 1 ||, OR, XOR 2 &&, AN ...

  6. navc mysql函数备份_入门MySQL——备份与恢复

    前言: 前面几篇文章为大家介绍了 MySQL 各种语句语法的用法及用户权限相关知识.本篇文章将主要讲解 MySQL 数据库数据备份与恢复相关知识,主要聚焦于逻辑备份,介绍mysqldump工具的使用以 ...

  7. mysql 函数事务_MySQL:函数和事务

    一.函数 MySQL数据库中提供了很丰富的函数.MySQL函数包括数学函数.字符串函数.日期和时间函数.条件判断函数.系统信息函数.加密函数.格式化函数等.通过这些函数,可以简化用户的操作. (一)数 ...

  8. MySql 函数大全

    一. 控制流程函数 a)  CASE WHEN THEN 函数 语法: CASE value WHEN [compare-value] THEN result [WHEN [compare-value ...

  9. MySQL数据库基本语法

    MySQL的基本语法: DDL语句:数据库的定义语句: 创建库,删除库,查询库,修改库的字符集 show databases; 查询有哪些库 create database 库名; 直接创建 crea ...

最新文章

  1. matlab 最大熵谱估计,最大熵原理
  2. java的知识点45——事务||测试时间处理(java.sql.date,time,timestamp)
  3. 使用myeclipse创建带注解的model实体类
  4. Nutch使用方法简介
  5. sourcemap总结
  6. qq接入和分享android,Android社交登录授权、分享SDK,支持微信、微博和QQ
  7. 开放华为30年研发能力与实践 助力DevOps真正落地
  8. qq浏览器翻译功能启用划词插件教程
  9. java计算两个数组的交集_回顾面试题:计算两个数组交集
  10. 清华大学人工智能研究院知识中心成立仪式隆重举行,发布知识计算开放平台...
  11. PHP上传文件到项目public路径接口
  12. linux github安装 Pytorch
  13. 启用IIS服务(运行中输入inetmgr打不开IIS管理器的解决办法)
  14. Typora_Markdown_图片标题(题注)
  15. 计算机总自动开机 如何关闭,手把手教你win10电脑关机后自动开机怎么解决
  16. client-go实战之三:Clientset
  17. HOJ 1276 士兵队列训练问题(stl, 水题)
  18. 开源并“免费”的Linux平台DAW——Ardour 4.0发布
  19. Win10、11登录微软账户时一直转圈
  20. canvas.toDataURL()降低图片质量,以减少图片上传大小

热门文章

  1. 【转】JS回调函数--简单易懂有实例
  2. linux上安装pycharm
  3. Oracle EXP-00091解决方法
  4. 2017-9-11-颜色空间
  5. arm64的适配问题,这次真醉了
  6. 使用NTDSXtract离线抓取Domain Hash
  7. ASP.NET MVC教程:理解模型、视图和控制器(1)
  8. 一个链接orcal的标准链接方法
  9. 监听屏幕 android.intent.action.USER_PRESENT
  10. Android学习日记(1)