0

PHPMySQLを使用して、次のインクリメントのように、MySQL の将来の ID の番号、後に続く番号を取得したいと考えています。どうやってやるの?

4

2 に答える 2

1

確実に行うことは実際には不可能です。できますがselect max(id)+1、ロールバックされたトランザクションや並列プロセスが実行されている場合は失敗します。

最良の方法は次のとおりです。

  1. 取引を開始します。
  2. スケルトン レコードを挿入し、select last_insert_id()その ID を取得するためにa を実行します
  3. その ID を子/並列レコードの更新に使用する
  4. スケルトン レコードに必要なものを入力する
  5. トランザクションをコミットします。

いずれかのステージが失敗した場合は、トランザクションをロールバックし、その ID を破棄します。ID は無効であり、二度と使用されないためです。

于 2013-02-15T14:58:11.220 に答える
0

データベースに何かを挿入するだけの場合は、mysqli_insert_id() を使用できます。

そこから、1 つ追加するだけで次のものを取得できます。

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

于 2013-02-15T14:57:56.223 に答える