Sie könnten eine weitere Tabelle erstellen
User_warnings:
user_id
warn_timestamp
Wann immer der Benutzer gewarnt wird löschen Sie zuerst alle Einträge, die älter als 30 Tage sind, dann prüfen Sie, ob noch zwei oder mehr Warnungen vorhanden sind. Sperren Sie den Benutzer dann.
Wenn Sie einen Verlauf über alle Warnungen haben möchten, löschen Sie keine alten Warnungen, sondern fragen Sie nur nach Warnungen innerhalb der letzten 30 Tage ab.
Auf diese Weise müssen Sie nicht jeden Tag herunterzählen, sondern nur prüfen, wann eine weitere Warnung erscheint.