Ja, det er muligt. Det er et klassisk tilfælde af en racetilstand.
Den hurtige forklaring:
Der er en chance for, at 2 anmodninger samtidigt bestå den første kontrol, få $num == 0
og indsæt begge en ny række.
For at fjerne det skal du oprette en UNIQUE
begrænsning, der dækker (user_id, ip, date)
kolonner
Den lange forklaring: