我希望當我通過在mysql數據庫中添加值的查詢時,空值不應該通過我應該做的事情?以及在哪裏以及如何使用這些代碼?請詳細告訴我我完全是新來的停止傳遞給mysql的空值
回答
要下手,約束你列在數據庫中是NOT NULL
。這將防止無效數據被存儲。
然後,你需要考慮你的代碼的數據表示,不涉及空值。這可能會影響您如何表示默認或未指定的值。
您可能會發現(作爲副作用),你的代碼變得更簡單,更不容易出錯,因爲你不必擔心你的代碼取消引用空值。因此,一般來說,從數據庫中刪除空值和你的代碼是一種很好的習慣。
如果您希望在向數據庫中添加空值時發生錯誤,可以設置NOT NULL。
如果你還不想一個錯誤,你可以使用默認值,該字段,那麼字段值將作爲默認值,而不是空。
當你的表是編輯 模式(選擇在phpMyAdmin筆),
你可以設置一個字段的默認值,
對於設置不爲空,你可以取消-check NULL複選框
y爲了保持數據不存在,請確保你不需要它們。空值是表示未知值的最佳方式。然而,你必須編寫預計爲空值的代碼,並且驅使很多人離開。
人們很容易使用默認值,或絕對荒謬的價值,爲空。但是,這經常會導致問題的發生。有趣的是,像「NOPLATE」和「XXXXXXXX」這樣的虛擬平板電腦的人獲得數百張其他車票,因爲票務編寫者會使用這些值,其中NULL是最好的選擇。如果將票據數據放入計算機的人有辦法在板號字段中放置NULL,則問題不會發生。 ...嘿,魔鬼的擁護者 - 字符串「NULL」與NULL值不同,所以你可以在完美的世界中有一個名爲「NULL」的虛榮盤。 (我不會接受NULL培訓交通執法官員的責任,但我會接受培訓警察IT人員的合同,收取正確的費用:))
使用「荒謬」值並不罕見比如「1/1/1899」,表示未知日期,而不是允許空值。但是,這有兩個問題。首先,用戶會因某一天實際需要該日期而感到震驚。其次,當編寫代碼來處理null時,你必須編寫查找「1/1/1899」的代碼,這將是相同數量的工作,並且在語義上更加正確。
使用的情況下,使用NOT NULL約束「這個值可以永遠,永遠是空的。無論是通過主鍵描述必須始終有這個價值。」避免使用NOT NULL約束來將空值保留在數據庫之外,以獲得實際可能丟失或未知的值。
NULL可能很有用。這是表示未知數據的最佳方式。
- 1. PHP停止傳遞null值TP MySQL的
- 2. 將值傳遞給文本文件時停止追加
- 3. 將空值傳遞給Mysql中的存儲過程
- 4. 空傳遞給DBtype.binary
- 5. 將空間值傳遞給Ruby腳本
- 6. 將空值傳遞給DBReport mediator
- 7. MySQL將參數/值傳遞給查詢
- 8. MySQL傳遞值
- 9. 傳遞值給ExceptionFilter
- 10. 值傳遞給JavaScript
- 11. 值傳遞給PHP
- 12. 停止道具被傳遞給帶風格元件的兒童
- 13. 停止IIS 7.5將不存在的頁面傳遞給Coldfusion
- 14. form_remote_for傳遞空值
- 15. 空元素傳遞給URL
- 16. 停止Ehcache存儲空值
- 17. 將est datetime傳遞給MySql
- 18. 值傳遞給jQuery的POST
- 19. 將值傳遞給htaccess的
- 20. 單選按鈕值沒有傳遞給變量,並停止提交
- 21. 我的PHP返回值爲空時值傳遞給它
- 22. 將值傳遞給Sql中的空值列
- 23. 如何停止WSO2將ActiveMQ CorrelationID直接傳遞給Websphere MQ
- 24. 將變量傳遞給方法並停止重置變量
- 25. 傳遞空值的方法
- 26. 將空字符串或空值傳遞給DirectoryEntry構造函數
- 27. 停止通過GET傳遞的'submit'按鈕值?
- 28. 阻止將xml名稱空間傳遞給子節點
- 29. 將值從jsp傳遞給jsp時獲取空值
- 30. 如何在java中將空文本框值傳遞給零值?
這是很好的建議。數據約束應該在數據庫的控制之下,而不是一些應用程序。那是因爲你永遠不知道什麼時候會有錯誤的或惡意的應用程序進入並附加到你的寶貴數據。如果你不想停止這些應用程序,但仍然想阻止NULL,你可以選擇插入/更新觸發器來將NULL轉換成其他的東西,但這是一個混亂。 – paxdiablo 2010-01-03 12:09:06