Auto Increment Integer di MySQL

Ada yang menarik pada rule auto increment di basis data MySQL. Misalkan kita membuat field user_id dengan tipe data integer lalu kita set auto increment. Jika kita alpa atau sengaja tidak mengisi value user_id saat meng-insert row baru, secara otomatis value user_id akan diisi dengan increment dari angka tertinggi yang ada di field tersebut. Kalau hal ini, kita semua pasti sudah tahu.

Nah, bagaimana jika saya ingin memasukkan user_id dengan nilai 0 (zero)? Apabila saya memasukkan nilai 0, nilai saya itu akan langsung diganti dengan nilai increment dari angka tertinggi. Gagal deh membuat user_id 0. Lalu, saya coba lagi dengan memasukkan user_id dengan nilai -1 — harapannya agar di-increment menjadi 0, eh gagal juga. Nilai tetap -1. Ternyata semua nilai integer negatif yang kita insert tidak di-auto increment. Nilai integer negatif itu akan bertahan apa adanya. Akhirnya, iseng-iseng mencoba memasukkan nilai NULL untuk field user_id saat meng-insert user yang baru. Ternyata nilai NULL itu diubah (atau di-auto increment?) menjadi nilai 0. Hmm… baru tahu saya.:mrgreen:

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s