自動インクリメントされたPKを持つテーブルにデータを挿入するときに、別のステートメントで使用するためにそのキーを取得する必要があります。だから多くの質問が表示されるので、これはPHPでmysql_insert_id()
を使って行うことができます。複数の行に最後に挿入されたIDを取得する
しかし、私は一度に複数の行を挿入するように私のインサートを一緒にグループ化しています。私はおそらくいくつかのパフォーマンスの問題があると思ったので、私はこれをした、私は間違っている場合は助言してください。とにかく私が知っている限り、mysql_insert_id()
はすべての挿入された行のIDが必要なときに最後のIDだけを返します。
私は私ができる。この場合には推測:
はすべて
mysql_insert_id()
を使用して、IDS、私が入力した行の数を計算するためにいくつかの簡単な数学を行います。しかし、これは一貫して正しいことが保証されていますか?使用する複数の挿入文、各行に1つ
は私のIDの前にしていない使用自動インクリメントを生成します。
これは古典的な問題であるに違いないと確信しています。そのため、最も一般的で推奨されるアプローチが何であるか疑問に思っています。
の
完全な説明は、 'CURRENT_TIMESTAMP'のアプローチは、私には少し危険なようです。あなたと他の誰かが同じテーブル(同じタイムスタンプ)で同じテーブルに書き込むとどうなりますか? – tonix