Обработать действие дважды – как это предотвратить?

У меня проблемы. У меня есть собственная браузерная игра, и есть что-то вроде

SELECT * FROM attack WHERE proc = 0 AND endtime < $current_time 

он работает, но проблема в том, что, когда в Интернете более 10 пользователей, есть большая вероятность, что 2 пользователя нажмут в то же время = атака удваивается. Тем не менее, я не хочу увеличивать количество запросов, чтобы иметь «столбец», например «заблокирован». Кто-нибудь знает решение?

Я думаю, что …

Вместо того, чтобы просто хранить 0000-00-00 00:00:00, я думаю, что вы можете хранить – точнее, дата и время, например 0000-00-00 00: 00: 00.00000 (miliseconds). Шансы одновременных действий значительно уменьшатся.

Поэтому, если вы сравните с $ current_time, $ current_time должно быть в 0000-00-00 00: 00: 00.00000.

вот как получить время с miliseconds

Примечание: вы можете изменить дату («Ymd \ TH: i: s») на сегодняшний день («Ymd H: i: s»), если вы не хотите, чтобы «T»