PHP / MYSQL параллелизм - PullRequest
       11

PHP / MYSQL параллелизм

0 голосов
/ 22 февраля 2012

я пишу что-то вроде случайного чата omegle, у меня есть таблица chat_users я храню людей, которые не общаются ни с кем, они просто приходят, тогда я их удалю, когда они начнут общаться с другими людьми

скажем у нас есть пользователи с именами uid1, uid2, uid3

в 1:05 и 5 секунд (по одному в любое время) запрос uid1 для чата с uid2 и удаления из таблицы но в то же время uid3 также получил uid2 как случайный результат, тогда это будет проблемой причина uid2 не существует его общение с uid1

как я могу решить эту проблему ??

1 Ответ

4 голосов
/ 22 февраля 2012

Использование транзакций .

Уточнение: оберните выбор случайного результата и последующее удаление в транзакции, и проблема исчезнет, ​​потому что тогда MySQL должен позаботиться о конфликтующих транзакциях.

...