1.一般数据表的id都是设置成auto_increment的,所以当插入一条记录后,可以使用下面的命令来获取最新插入记录的id值

 select last_insert_id();

注意:1. 必须是在使用Insert语句后,紧接着使用select last_insert_id()才有效,在没有使用过Insert语句的情况下,查询返回的结果为;

2.如果在同一条Insert语句插入多条记录,返回的结果是第一条记录对于的id,如

 insert into school.student
(name, age) values
('s1', 18),
('s2', 18),
('s3', 28),
('s4', 19),
('s5', 18);

     返回的结果是s1对于的id号。

2. 为什么不直接使用 select max(id) from tableName;

因为:如果手动删除了最新的数据,使用 max(id)查询的结果是当前剩下数据中最大的记录,

而新插入数据则不一定从这个数字开始计数

3. 所以为了准确的获取下一条插入记录的id,应该查询的是auto_increment, 对应的SQL语句如下:

 SELECT auto_increment FROM information_schema.tables where table_schema="dbName" and table_name="tableName";

  注意:auto_increment 可以通过 show table status where `name`='tableName' 查询得到,所以相当于一个字段了;

 auto_increment返回的是下一条插入记录的id值,而不是当前的最大id值

     information_schema.tables照写即可,

     table_schema="dbName",指的是数据库的名字,注意要使用双引号,

       table_name="tableName",指的是表的名字,也要使用双引号。

最新文章

  1. height与line-height的深入理解及应用
  2. n个整数中,找出尽可能多的数使他们组成一个等差数列,求最长等差数列的长度
  3. web.xml中/与/*的区别
  4. 草根玩微博 中产玩微信 土豪玩什么?支持Yo的iWatch?
  5. Js文本溢出自动添加省略号ellipsis
  6. shell学习目录
  7. HDU 4612 Warm up(2013多校2 1002 双连通分量)
  8. 如何取消FLEX里模态窗口的毛玻璃效果
  9. 如何使用EasyUI显示表格界面
  10. kali虚拟机添加共享文件夹
  11. 关于手机ios和安卓和pc的点击事件的兼容
  12. https及证书
  13. 性能瓶颈之Target
  14. Install Local SQL In Mac OS
  15. 【C语言】 二叉树的基本运算
  16. angular2项目关于动画的处理
  17. POJ 1191 棋盘分割(区间DP)题解
  18. [NOI 2015]寿司晚宴
  19. IIS------如何安装IIS
  20. elasticsearch插件安装之--拼音插件

热门文章

  1. 个人封装JavaScript函数
  2. Java返回当前对象的好处
  3. [LeetCode 题解]: Binary Tree Preorder Traversal
  4. python 几种方法实现随机生成8位同时包含数字、大写字符、小写字符密码的小程序
  5. jquery chosen 插件多选初始化
  6. electron-vue 开发环境搭建(Windows环境)
  7. c#快速导出到Excel
  8. 四两拨千斤式的攻击!如何应对Memcache服务器漏洞所带来的DDoS攻击?
  9. BZOJ 1002--[FJOI2007]轮状病毒(高精度)
  10. Ubuntu16.04安装使用Consul