これは主観的なようですが、私はノーと言います。概念的には正しくありません。理由は次のとおりです。
- 最後に挿入された行が必要です
- ただし、クエリは最大の
id
を調べます 値
はい、最大IDと最新の挿入には何らかの関係がありますが、次の点を考慮してください。
- 最後に挿入された行が削除された場合はどうなりますか?
MySQLに関する回答:異なる結果が得られます。これが失敗するために、マルチスレッドまたは複数のプロセスが存在する必要さえないことに注意してください。これは、2つの異なるものであるためです(確かに、同じ結果が得られることがよくあります)。
select max(id) from <tablename>
vs
select last_insert_id()
(どちらが正しいかを推測します。)
@Demsは、OPがあいまいであると指摘しました。私の要点を明確にします:
私たちは3つの異なる情報について話している:
- 最大
id
値 -
id
セッションに固有の、最後に挿入された行の数 -
id
(セッションに関係なく)テーブルに最後に挿入された行の数
危険なことは、ある質問をすると別の質問に正しい答えが返ってくることがあるということです。常にではありません 。