Vous pourriez créer une autre table
User_warnings:
user_id
warn_timestamp
Chaque fois que l'utilisateur est averti , vous supprimez d'abord toutes les entrées de plus de 30 jours, puis vous vérifiez s'il existe encore deux avertissements ou plus. Bannir l'utilisateur alors.
Si vous souhaitez un historique de tous les avertissements, ne supprimez pas les anciens avertissements, mais recherchez simplement les avertissements des 30 derniers jours.
De cette façon, vous n'avez pas à décrémenter tous les jours, mais vous n'avez qu'à vérifier lorsqu'un autre avertissement apparaît.