Mysql
 sql >> Base de données >  >> RDS >> Mysql

La meilleure façon de stocker un événement hebdomadaire dans MySQL ?

Voici une méthode simple :

EventID Title    Mon Tue Wed Thu Fri Sat Sun BeginningDate EndDate
1       MyEvent  0   0   0   1   0   0   0   14-01-2010    14-01-2033

Comment utiliser :

Définissez simplement un 1 sur les jours où vous souhaitez l'exécuter. Étant donné que le calendrier de 7 jours ne changera probablement pas de si tôt, cette structure devrait être immuable. Vous pouvez choisir n'importe quelle combinaison de jours.

Pour récapituler :

Courir tous les jeudis :

EventID Title    Mon Tue Wed Thu Fri Sat Sun BeginningDate EndDate
1       MyEvent  0   0   0   1   0   0   0   14-01-2010    14-01-2033

Courir tous les jeudis et lundis :

EventID Title    Mon Tue Wed Thu Fri Sat Sun BeginningDate EndDate
1       MyEvent  1   0   0   1   0   0   0   14-01-2010    14-01-2033

De plus, vous n'obtenez qu'une seule ligne par programme d'événement, ce qui est plus facile et plus propre à gérer par programmation.

Par exemple, pour trouver tous les événements à exécuter le lundi, faites :

select * from Events where Mon = 1