Ada dua cara, cara mudah konsisten dan cara sulit tidak konsisten. Cara sulit: kamu buat tabel baru (e.g: table auto_inc) yang mencatat nilai auto_increment tabel bersangkutan (e.g: table mhs). Setiap kali kamu memasukkan data baru ke tabel mhs baca tabel auto_inc untuk mendapat nilai increment terakhir,tambahkan nilai increment dengan 1, kemudian kamu update nilai dari table auto_inc dengan nilai increment yang terakhir. Tidak konsisten karena pada saat lupa mengupdate nilai tabel auto_inc akan terjadi error.
Cara mudah: tetap biarkan menggunakan field dengan tipe data integer autoincrement. Tapi pada saat data ditampilkan tampilakan id dengan embel embelnya misal:
function getCode($id){
$code = 'MHS-';
$banyakNol = min(0, 3 - strlen($id));
$code .= str_repeat('0',$banyakNol).$id;
return $code;
}
echo getCode(1); //hasil MHS-001;
echo getCode(123456); //hasil MHS-123456