下一个ID,未来ID,

时间:2013-02-15 14:55:05

标签: php mysql phpmyadmin

使用PHPMySQL,我想获取MySQL中未来ID的编号,即后续编号,如下一个增量。我怎么能这样做?

2 个答案:

答案 0 :(得分:1)

实际上不可能做到可靠。您可以执行select max(id)+1,但如果您已回滚事务和/或并行进程正在运行,则会失败。

最好的方法是:

  1. 开始交易。
  2. 插入骨架记录并执行select last_insert_id()以获取其ID
  3. 将该ID用于任何子/并行记录更新
  4. 使用您需要的任何其他内容填充骨架记录
  5. 提交交易。
  6. 如果任何阶段失败,请回滚该事务,并丢弃该ID,因为它无效且永远不会再次使用。

答案 1 :(得分:0)

如果您只是在数据库中插入内容,则可以使用mysqli_insert_id()

从那里,只需添加一个即可获得下一个。

http://php.net/manual/en/function.mysql-insert-id.php