そこで、MySQL データベースに行を挿入する関数を設計しています。テーブルには、自動インクリメントが有効になっている主キーがあります。したがって、この列の値は挿入しません。ただし、PK はテーブル全体で唯一の一意の列です。挿入したばかりの行を取得するにはどうすればよいですか?
関数のトラフィックが少ない場合は問題はありませんが、その負荷がますます重くなると、潜在的なバグが発生する可能性があります。たとえば、行を挿入し、DB の AI 値が 1 で、フェッチ関数が開始される前に「最後に挿入された行」を要求するために、別の行が AI 値 2 で挿入されます。ここで、挿入 1 のフェッチ関数が実行されると、行 2 がフェッチされます。このバグが実際に存在できるようにするには、時間のギャップを非常に小さくする必要があることはわかっていますが、一意の列として PK のみを持つテーブルを維持しながら、正しい行を取得するより良い方法はありますか? (追加のチェックサム列を実装したくありませんが、それは潜在的な解決策だと思います。)