嗨,我在mySql表中有一个名为jobnumber的字段,它会随着每个新条目自动递增。我想做的是当用户查看我的表单时,获取下一个'jobnumber‘的值。但我希望在向表中添加任何条目之前执行此操作。例如,当用户查看表单时,它会显示类似于'this is job number 6954‘的内容。我已经尝试过$rr = mysql_insert_id(),但这只在我输入后才起作用
发布于 2010-03-20 06:07:26
(1)您可以通过查看表中的最后一个id并手动递增它来完成(但您不能确定max(id)+1是否真的是下一个id,因为最后一个数据集可能会被删除,...):
mysql> select max(id)+1 from mytable;(2)由于MySQL不支持例如Oracle所支持的序列,您也可以手动实现类似序列的东西。MySQL提出了以下建议:
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以了解更多信息。
发布于 2013-07-24 17:22:54
$ret = mysqli_query("SHOW TABLE STATUS LIKE 'table' ");
$row = mysqli_fetch_array($ret);
$Auto_increment = $row['Auto_increment'];
mysqli_free_result($ret);发布于 2010-03-20 06:04:56
您可以尝试执行类似于"SELECT MAX(jobNumber) FROM JobTable;“的查询,并显示该数字(加1)。只要id始终是按顺序自动编号的,并且没有其他人在该查询和表单提交之间执行插入操作,它就应该是正确的。
https://stackoverflow.com/questions/2480847
复制相似问题