は私が設定受信トレイのメッセージ(InnoDBの)テーブルを持っています。各行は個々のメッセージです。私は、 "conversation_id"という2番目の列を持っています。これは、送信者/受信者間のメッセージのグループのIDです。会話内のすべてのメッセージの会話ID番号は同じです。のMySQL:インサートマックス(COL)1 - 競合状態なし - 「idは」プライマリインデックス、自動インクリメントここでのメッセージの受信トレイ
問題:最大の「conversation_id」番号を見つけて、それに1(Max(col)+ 1)を追加して競合状態にならないようにするにはどうすればよいですか?競合状態は大きな問題です。なぜなら何百分もの人々が毎分メッセージを送信するからです。同時に複数のユーザーが同じメッセージを送信する場合、同じ「conversation_id」を要求したくないからです。
代わりに独自の自動インクリメントプライマリキーを使用して 'conversations'テーブルを作成する方がよいでしょうか? 'conversations'の' id'を 'messages'の' conversation_id'として使うことができます。 'conversations'テーブルでは、単一のメッセージだけでなく、会話全体に関連する属性を保存することもできます。 –
@Phil Ross - ありがとうございました!これは最もシンプルで最も強力なソリューションのようです。親切には – peppy