No, ja bych do uzivatelu uz asi nesahal. Udelal bych pro bonusy extra tabulku.
tab_bonusy (id_bonus, nazev, cislo/level)
tab_uziv_bonus (id_bonus, id_uzivatel, cas ukonceni bonusu)
Normal uzivatele pridas do uzivatelu a pridas do tabulky tab_uziv_bonus (5, 1, casove razitko). Pak v selectu hledas bonusy, kterym nevyprselo casove razitko vuci NOW().
Premiovy uzivatel tech bonusu bude mit v tabulce vic. A kdyz nebude mit omezene datum vyprseni, tak bych tam nevyplnoval zadne datum a nebo hodne vysoke, treba +100 let, mozna spise +150, protoze se ma vekova hranice zvysovat. Ale soucasne nepredpokladam provoz toho programu dele nez 20 let, takze i +20 by mohlo stacit.
Bonusovy uzivatel dostane par bonusu navic s datumem vyprseni. Takze opet nemusis nic resit.
Navic muzes udelat pravidelne promazani vyprsenych bonusu, at se tabulka uvolni.