Очистка таблицы для удаления голосов, введенных в течение одного часа - PullRequest
0 голосов
/ 28 июня 2011

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

Проблема: теперь вам нужно очистить таблицу, чтобы уменьшить количество голосов, чтобы они были разделены интервалами не менее 1 часа.Например:

photo_id voter_id date_vote
54321    123      28th june 2011 16h46 57s
54321    123      28th june 2011 16h47 12s <= delete 
54321    123      28th june 2011 16h47 35s <= delete   
54321    123      28th june 2011 16h47 52s <= delete   
54321    123      28th june 2011 16h48 22s <= delete 
...
54321    123      28th june 2011 17h47 05s <= keep

Возможно ли это с помощью одного запроса или комбинации последовательных запросов?

1 Ответ

1 голос
/ 28 июня 2011

Вместо того, чтобы использовать подход после очистки, почему бы сначала не определить, был ли уникальный голос (photo_id, voter_id) представлен за последний час. Если нет, то добавьте запись, в противном случае не добавляйте запись и не уведомляйте пользователя о том, что он должен ждать час между голосами.

...