mysql 空表怎么取最大id?

QuinsonYue 2008-12-24 03:22:45
比如一个表有1000个记录,删空,delete from。。。

那下一次新增的记录 id 是 1001
问题是空表的时候,我怎么获取它这个 1001?
...全文
369 15 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
iihero 2011-07-10
  • 打赏
  • 举报
回复
都刨到2008年了,赞。。
tuyi911 2011-07-10
  • 打赏
  • 举报
回复
学习!!!
rucypli 2011-07-10
  • 打赏
  • 举报
回复
08年得帖子都挖出来了
血冰飝 2011-07-10
  • 打赏
  • 举报
回复
有一个东西可以直接返回刚刚插入那条记录的ID,但是我忘了
kongqi12345 2011-07-05
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 acmain_chm 的回复:]
select AUTO_INCREMENT
from INFORMATION_SCHEMA.TABLES
where TABLE_NAME='比如一个表'
[/Quote]对,就是范围大 慢
ACMAIN_CHM 2011-03-31
  • 打赏
  • 举报
回复
select AUTO_INCREMENT
from INFORMATION_SCHEMA.TABLES
where TABLE_NAME='比如一个表'
gw6328 2011-03-31
  • 打赏
  • 举报
回复
直接插入吧,只要是delete的会自动增加的。
ljyhouse2 2011-03-30
  • 打赏
  • 举报
回复
1. 方法1
插入一条测试记录,然后删除掉,获取ID。不再赘述。

2. 方法2
利用Mysql自带的一个函数语句 "SHOW TABLE STATUS",可以获取当前数据库里的所有表的属性等信息,通常用来做数据库的优化和维护。如果需要指定某一张表的话,可以通过两种方法指定。
一种是网上给出来的:
show table status like 'TableName'
另外就是常见的where语句
show table status where Name ='TableName'

得到的结果集里面有一列AUTO_INCREMENT,是一个Int值变量,获取之后就是下一个要插入的ID了。
懒得去死 2008-12-27
  • 打赏
  • 举报
回复
此时你的表定义里面有这个吧:
create table ...
(...)
... auto_increment=1001;
小雨转晴 2008-12-26
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 ACMAIN_CHM 的回复:]
mysql> SELECT LAST_INSERT_ID();
-> 195

[/Quote]
·
QuinsonYue 2008-12-24
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 WWWWA 的回复:]
一般是插入后用MAX OR LAST_INSERT_ID()
取得
[/Quote]


你们都不知道我问啥吗?

比如:有一个表id从1到1000,共1000个记录。我delete from 删光光

想知道这个空表如果有新记录插入,id是多少(前提是不插入就知道,怎么知道)。
ACMAIN_CHM 2008-12-24
  • 打赏
  • 举报
回复
mysql> SELECT LAST_INSERT_ID();
-> 195
WWWWA 2008-12-24
  • 打赏
  • 举报
回复
一般是插入后用MAX OR LAST_INSERT_ID()
取得
WWWWA 2008-12-24
  • 打赏
  • 举报
回复
我怎么获取它这个 1001?:插入前 OR 后?
如ID是自增,直接修改从1开始不行?
QuinsonYue 2008-12-24
  • 打赏
  • 举报
回复
补充:id是自增字段

56,940

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧