Neměňte návrh DB za běhu, ale navrhněte jej tak, že změníte data, nikoli strukturu.
Můžete mít dva stoly. Jeden s názvem Student se sloupci rollno a name , možná PK na rollno pokud je jedinečný.
Pak mějte další tabulku s názvem Thing (jakýkoli vhodný název, ale nevím, o čem jsou vaše data) se třemi sloupci when (datetime), value (jakýkoli vhodný název) (CHAR(1)) a student (stejný typ jako rollno ).
Definujte PK nad oběma when a value aby bylo zajištěno, že každý student má pouze jednu hodnotu na datum. Definujte FK z Thing.student na Student.rollno . Nyní se vaše databáze stará o to, aby vaše data byla (většinou) konzistentní.
Definujte indexy v závislosti na vašich potřebách výběrů, vložení a aktualizací v různých sloupcích.
Poté pro dotazování spojte obě tabulky, abyste získali požadovaný výsledek, např.
select s.name, t.value
from Student s
left join Thing t on t.student = s.rollno
where t.when == 'whenever'
(Nejsem si jistý dialektem mysql, takže možná budou potřeba další uvozovky. Neváhejte je upravit.)