mysql 查询auto_increment_MySQL查询数据表的Auto_Increment(自增id)

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

select last_insert_id();

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

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",指的是表的名字,也要使用双引号。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值