1. 程式人生 > >為什麼有時將空值存到資料庫卻顯示為0有時為空

為什麼有時將空值存到資料庫卻顯示為0有時為空

為什麼有時將空值存到資料庫顯示為0有時卻為空

在表單中總會有一些選項是選填的,當用戶不填的時候可將值null傳到資料庫,那麼存到資料庫一定是空值嗎?

這和資料型別有關:

  首先明白不可為空意思是:在資料庫裡填充資料時不可將值設定為null值,空的字串不等於null

1:當某一項設定可以為空時:    未填 則  int型別預設為0  、其它字元型別(char,vachar)則預設為null

 2:當某一項設定不可為空時:

    如果資料是表單提交過來的,這一項,未填則填入資料庫時預設變成空字串,無論設定的是什麼型別

    如果不是表單提交的(即在資料庫裡新增資料時)未填 對於mysql來說分兩種情況:

   第一種:使用sql語句新增 例如 INSERT INTO student(name) VALUES(null); 如果name設定是不可為空則報錯

   第二種:在phpmyadmin新增資料時 name項未填,則以空字串新增 

PS:如果之前資料庫某一項設定可以為空,並且有某條資料的這一項為null,此時修改此項變為不可為空會報錯,

需要將為null的那條資料修改為其它值方可修改