首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >mysql获取最后一个自动增量值

问mysql获取最后一个自动增量值
EN

Stack Overflow用户
提问于 2010-03-20 05:59:31
回答 5查看 9.4K关注 0票数 2

嗨,我在mySql表中有一个名为jobnumber的字段,它会随着每个新条目自动递增。我想做的是当用户查看我的表单时,获取下一个'jobnumber‘的值。但我希望在向表中添加任何条目之前执行此操作。例如,当用户查看表单时,它会显示类似于'this is job number 6954‘的内容。我已经尝试过$rr = mysql_insert_id(),但这只在我输入后才起作用

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2010-03-20 06:07:26

(1)您可以通过查看表中的最后一个id并手动递增它来完成(但您不能确定max(id)+1是否真的是下一个id,因为最后一个数据集可能会被删除,...):

代码语言:javascript
复制
mysql>  select max(id)+1 from mytable;

(2)由于MySQL不支持例如Oracle所支持的序列,您也可以手动实现类似序列的东西。MySQL提出了以下建议:

代码语言:javascript
复制
mysql>  CREATE TABLE sequence (id INT NOT NULL);
mysql>  INSERT INTO sequence VALUES (0);

mysql>  UPDATE sequence SET id=LAST_INSERT_ID(id+1);
mysql>  SELECT LAST_INSERT_ID();

另请查看此link以了解更多信息。

票数 0
EN

Stack Overflow用户

发布于 2013-07-24 17:22:54

代码语言:javascript
复制
$ret = mysqli_query("SHOW TABLE STATUS LIKE 'table' ");
$row = mysqli_fetch_array($ret);
$Auto_increment = $row['Auto_increment'];
mysqli_free_result($ret);
票数 1
EN

Stack Overflow用户

发布于 2010-03-20 06:04:56

您可以尝试执行类似于"SELECT MAX(jobNumber) FROM JobTable;“的查询,并显示该数字(加1)。只要id始终是按顺序自动编号的,并且没有其他人在该查询和表单提交之间执行插入操作,它就应该是正确的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2480847

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档