0

使用PHPMySQL,我想获取 MySQL 中未来 ID 的编号,之后的编号,如 nextincrement。我怎样才能做到这一点?

4

2 回答 2

1

确实不可能做到可靠。你可以这样做select max(id)+1,但如果你有回滚事务和/或并行进程正在运行,那将会失败。

最好的方法是:

  1. 开始交易。
  2. 插入骨架记录并执行 aselect last_insert_id()以获取其 ID
  3. 将该 ID 用于任何子/并行记录更新
  4. 用您需要的任何其他内容填充骨架记录
  5. 提交事务。

如果任何阶段失败,则回滚事务,并丢弃该 ID,因为它是无效的并且永远不会再次使用。

于 2013-02-15T14:58:11.220 回答
0

如果你只是在数据库中插入一些东西,你可以使用 mysqli_insert_id()

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

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

于 2013-02-15T14:57:56.223 回答