2014-04-21 62 views
0

我有一個PHP表格,它既有必填字段又有非必填字段。在相應的mysql表中我定義了必填字段NOT NULL &非必填字段將接受NULL值。但我發現即使是NOT NULL列,用戶也可以輸入一個空白值。會發生什麼情況是,如果我將NULL列留空,mysql將顯示其值爲NULL,如果我將NOT NULL列留空,則mysql將顯示其值爲空(NULL不顯示)。允許非必填字段接受NULL值是否是一種好習慣? Mysql

我現在的感覺是沒有必要在相應的mysql表中定義非必填字段爲NULL。最佳做法是什麼?可以保持原樣嗎? (即仍允許它們接受NULL值),還是應該將非必需字段更改爲不接受NULL值。

需要你的建議!!!!!

+0

添加到反參數的鏈接。 – zx81

回答

0

會更好,如果你提到的表單字段, 但如果你的意思是用戶可以在表單輸入輸入空格(空格字符)值,你應該過濾輸入數據,以避免插入空白值數據庫。 我想你應該只是在php代碼中控制必填字段,並且表列中的null/not null定義僅基於輸入字段的類型和其他表之間的關係。

0

圍欄兩邊都有意見,但對我來說最有意義的是爲所有字段指定「NOT NULL」,並且使用您選擇的默認值 - 通常爲空白屏幕,但對於日期它可能會不同。這就是我對我的大部分表格所做的。

話雖這麼說,請參閱參數換另一側herehere

有幾個原因讓我和可能的人不使用NULL值,除非特殊情況。一個是它使你的查詢更容易。你知道你可能有空值,但你知道你沒有NULL值,你不必搜索這兩個值。

我似乎還記得一些在NULL值的引擎上索引性能的問題,但這可能不再是MySQL 5.6的問題。

還有一件要考慮的事情是NULL或空白值的含義。爲了論證的緣故,如果John的畢業日期沒有填寫到您的數據庫中,是否意味着:

  1. 約翰還沒有畢業?
  2. 他已畢業但我們不知道什麼時候?
  3. 或者我們不知道他是否已畢業?

這是設計表格時要考慮的事情。

相關問題