Minggu, 30 Desember 2012

Jangan Pernah artikan 0 (Nol) sama dengan NULL

Pada saat anda mencipta tabel-tabel baru, tidak menyertakan Statement Not Null atau jika anda membangunnya dengan bantuan Mysql GUI tool semisal SQLYog atau SQLRun atau lainnya untuk field-field yang bebas bukan field kunci atau field untuk rekord yang bernilai (baca : penting), maka ketika anda bermaksud melakukan Inserting data dengan tidak menyebutkan field yang besangkutan (field yang dicipta dengan mengizinkan "Null") maka otomatisnya sih Mysql akan mengisinya dengan tulisan "Null" di field yang tidak disebut tadi.






dari ilustrasi 2 :
  • 1 adalah perintah Query yang saya tulis, sehingga data di tabel terinput seperti ilustrasi di bawahnya.
  • 2 adalah field auto Increment sehingga dengan tanpa menyebut field dan meng insert kan nominal, secara otmatis akan terisi urut mengikuti jumlah record.
  • 3 nilai field yang tidak di sisikan nominal terisi "Null". Benar ketika anda tidak memberi centang pada checkbox "Not null" dalam ilustrasi pertama maka rekord-rekord yang tidak disebutkan akan terisi NULL
 Sampai disini tidak masalah yang dihadapi, sampai saat anda menulis Query seperi ilustrasi di bawah..

Secara teori saya bermaksud melakukan update di rekord "buku tulis", bahwa stok1 dan stok2 saya tambahkan 10, sedang stok3 saya isi 10 secara langsung. Namun apakah Query tersebut menghasilkan hasil sesuai dengan keinginan..? Stok1 YA terupdate menjadi 30, sedang stok2 masih "NULL" stok3 terisi 10 sudah benar, logicnya stok2 serisi nominal 10 juga kan..?
Harusnya memang seperti harapan jika  Null itu sama artinya dengan Nol atau "0", Nol atau 0 adalah kosong atau berbilang 0 kosong tapi ada bilangan 0 sehingga jika di tambahkan dengan nominal tertentu akan berwujud nominal pemambah tadi. Dan Null bisa diartikan hampa, sehingga update dengan model menambahkan dengan field yang bersangkutan maka hasilnya tetap "Null". Mungkin dapat digambarkan seperti itu ya...hehehheeh (ini menurut aku ego mode : ON).
 Solusinya...!
 Akan beda ketiak anda menulis Query seperti ilustrasi di bawah ini

Ternyata dengan menambahkan statement Query ifNull(pernyataan, pengganti) masalah terselesaikan, kalimat query tersebut mengganti rekor yang Null dengan angka 0 sesuai kalimat "IfNull(stok2,0)" baru dapat ditambahkan.

 Oke..coba deh kalau masih tidak percaya !!


1 komentar:

  1. NULL.... ga nul ganuLL, BUnder bunder kaya galundeng, abang ijo gendero londo, klambi abang nyolok moto...!

    BalasHapus

Iklan !

Stats