Nie zmieniaj projektu bazy danych w czasie wykonywania, ale zaprojektuj go w taki sposób, aby zmienić dane, a nie strukturę.
Możesz mieć dwa stoły. Jeden o nazwie Student z kolumnami rollno i name , może PK na rollno jeśli jest unikalny.
Następnie przygotuj kolejną tabelę o nazwie Thing (dowolna odpowiednia nazwa, ale nie wiem, czego dotyczą Twoje dane) z trzema kolumnami when (data/godzina), value (dowolne odpowiednie imię) (CHAR(1)) i student (ten sam typ co rollno ).
Zdefiniuj PK dla obu when i value aby upewnić się, że każdy uczeń ma tylko jedną wartość na dzień. Zdefiniuj FK z Thing.student do Student.rollno . Teraz Twoja baza danych dba o utrzymanie (w większości) spójności Twoich danych.
Zdefiniuj indeksy w zależności od potrzeb dotyczących zaznaczeń, wstawek i aktualizacji w różnych kolumnach.
Następnie do zapytania połącz obie tabele, aby uzyskać pożądany wynik, np.
select s.name, t.value
from Student s
left join Thing t on t.student = s.rollno
where t.when == 'whenever'
(Nie jestem pewien co do dialektu mysql, więc może potrzebnych jest więcej cudzysłowów. Prosimy o edycję.)