Jangan ubah desain DB Anda saat runtime, tetapi rancang sedemikian rupa sehingga Anda akan mengubah data, bukan strukturnya.
Anda bisa memiliki dua meja. Satu bernama Student dengan kolom rollno dan name , mungkin PK di rollno jika unik.
Kemudian buat tabel lain bernama Thing (nama yang cocok, tapi saya tidak tahu tentang data Anda) dengan tiga kolom when (datetime), value (nama yang sesuai) (CHAR(1)) dan student (tipe yang sama dengan rollno ).
Tentukan PK di kedua when dan value untuk memastikan bahwa setiap siswa hanya memiliki satu nilai per tanggal. Tentukan FK dari Thing.student ke Student.rollno . Sekarang DB Anda akan menjaga data Anda (kebanyakan) tetap konsisten.
Tentukan indeks tergantung pada kebutuhan Anda untuk memilih, menyisipkan, dan memperbarui pada kolom yang berbeda.
Kemudian untuk kueri, gabungkan kedua tabel untuk mendapatkan hasil yang diinginkan, mis.
select s.name, t.value
from Student s
left join Thing t on t.student = s.rollno
where t.when == 'whenever'
(Saya tidak yakin dengan dialek mysql, jadi mungkin diperlukan beberapa kutipan lagi. Silakan edit.)