MySQL查询数据表的Auto_Increment(自增id)
2024-10-19 15:39:34
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",指的是表的名字,也要使用双引号。
最新文章
- height与line-height的深入理解及应用
- n个整数中,找出尽可能多的数使他们组成一个等差数列,求最长等差数列的长度
- web.xml中/与/*的区别
- 草根玩微博 中产玩微信 土豪玩什么?支持Yo的iWatch?
- Js文本溢出自动添加省略号ellipsis
- shell学习目录
- HDU 4612 Warm up(2013多校2 1002 双连通分量)
- 如何取消FLEX里模态窗口的毛玻璃效果
- 如何使用EasyUI显示表格界面
- kali虚拟机添加共享文件夹
- 关于手机ios和安卓和pc的点击事件的兼容
- https及证书
- 性能瓶颈之Target
- Install Local SQL In Mac OS
- 【C语言】 二叉树的基本运算
- angular2项目关于动画的处理
- POJ 1191 棋盘分割(区间DP)题解
- [NOI 2015]寿司晚宴
- IIS------如何安装IIS
- elasticsearch插件安装之--拼音插件
热门文章
- 个人封装JavaScript函数
- Java返回当前对象的好处
- [LeetCode 题解]: Binary Tree Preorder Traversal
- python 几种方法实现随机生成8位同时包含数字、大写字符、小写字符密码的小程序
- jquery chosen 插件多选初始化
- electron-vue 开发环境搭建(Windows环境)
- c#快速导出到Excel
- 四两拨千斤式的攻击!如何应对Memcache服务器漏洞所带来的DDoS攻击?
- BZOJ 1002--[FJOI2007]轮状病毒(高精度)
- Ubuntu16.04安装使用Consul