Mysql
 sql >> база данни >  >> RDS >> Mysql

Най-добрият начин за съхраняване на седмично събитие в MySQL?

Ето един прост начин:

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

Как да използвате:

Просто задайте 1 в дните, в които искате да го стартирате. Тъй като 7-дневният календар няма вероятност да се промени скоро, тази структура трябва да бъде неизменна. Можете да изберете произволна комбинация от дни.

За да обобщим:

Изпълнявайте всеки четвъртък:

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

Изпълнява се всеки четвъртък и понеделник:

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

Нещо повече, получавате само един ред за график на събитие, което е по-лесно и по-чисто за програмно обработване.

Например, за да намерите всички събития, които да бъдат изпълнени в понеделник, направете:

select * from Events where Mon = 1


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Обектът от клас yii\db\Command не можа да бъде преобразуван в низ

  2. C#, MySQL - възникна фатална грешка по време на изпълнение на командата - Проверих други решения, нещо, което ми липсва

  3. Дизайн на база данни за коментари и отговори

  4. Laravel Вмъкване на няколко записа от един формуляр

  5. MySQL GROUP BY две колони