0

「mysql_insert_id — 最後のクエリで生成された ID を取得する」

3 人のオンライン ユーザーが同じクエリ (テーブルに挿入など) を呼び出しているとします。ユーザー 1 はテーブルに行を挿入しますが、ユーザー no. ユーザー 1 からわずか数ミリ秒後に、3 人が最後にクエリを呼び出します。

ユーザー one の mysql_insert_id を返すものは何ですか? 彼の ID ですか、それともユーザー 3 の ID ですか?

この関数が廃止された場合、何を使用できますか?

4

1 に答える 1

2

挿入 ID は接続ごとに追跡されます。永続的な接続がない場合、個々のスクリプトの実行ごとに独自の接続があります。永続的な接続では、各 Apache プロセスに独自の MySQL 接続があります (ただし、個々のプロセスは結果を順次提供するため、問題にはなりません)。PHP のクエリmysql_insert_id()と同じページ ロード内から呼び出す限り、問題はありません。INSERT

質問の 2 番目の部分に答えるには、mysqliまたはPDO(推奨) ライブラリを使用する必要があります。mysqliには対応する がありmysqli_insert_idます。PDO方法がありlastInsertId()ます。

于 2013-03-07T15:23:56.450 に答える