2012-02-22 20 views
0

私はchat_usersと呼ばれるchat_usersというテーブルがあります。 私はpplを保存しています。他の人とチャットしていない人は、他のpplとチャットを開始するときに削除しますPHP/MYSQL同時実行

我々は1時05分と5秒(1任意のperticular時間)をUID2とチャットするUID1要求でUID1、UID2、UID3

をユーザーが命名したとテーブル からではなく、その同時に削除されます を言うことができますuid3もまたランダムな結果としてuid2を取得しました。それで問題になるでしょう 原因uid2にはuid1でチャットがありません

どうすればこの問題を解決できますか?

答えて

4

transactionsを使用してください。

明確化:ランダムな結果と次の削除の選択をトランザクションにラップすると、mySQLはトランザクションの衝突を処理する必要があるため、問題はなくなります。

+0

私はトランザクションについて知っています。それはisssueを解決するまでは解決しないと思います。 – Smit

+1

@Smit:まあ、実際はそうです。なぜそれを試してみませんか? – Ryan

+0

どのようなトランザクション同時実行性は、すべてのユーザーの間でデータベースの同じ状態を維持しています しかし、arrrayは片側に既にロードされており、反対側では データベースから削除され、トランザクションはリアルタイムで更新されません。 – Smit