Ja det är möjligt. Det är ett klassiskt fall av tävlingstillstånd.
Den snabba förklaringen:
Det finns en chans att 2 förfrågningar samtidigt klara den första kontrollen, få $num == 0
och båda infogar en ny rad.
För att eliminera det måste du skapa en UNIQUE
begränsning som täcker (user_id, ip, date)
kolumner
Den långa förklaringen: