Anda menulis, "Saya masih bisa memasukkan string kosong (=NULL)," yang terdengar seperti kesalahpahaman. Dalam SQL, string kosong tidak dievaluasi ke NULL, atau sebaliknya. Coba masukkan string kosong dan lakukan SELECT from wall where token_message is NULL
. Anda harus mendapatkan nol baris kembali. Kemudian coba lakukan penyisipan di mana Anda menentukan NULL
(tidak dikutip) sebagai nilai untuk kolom Anda, dan Anda akan mendapatkan pesan kesalahan yang diharapkan.
Jika tes tersebut berfungsi seperti yang diharapkan, maka semuanya baik-baik saja, dan masalah Anda sebenarnya adalah Anda ingin mencegah string kosong dimasukkan. Lihat pertanyaan ini untuk saran, atau cukup periksa string kosong selama validasi, sebelum kueri.