回答
是的,VARCHAR是存儲字符串的首選數據類型。
但是,將多個值存儲在同一個字段中並不是首選。多值屬性通常作爲數據庫設計中的表實現。
因此,varchar可以存儲像逗號字符?而且 - 如果你說在相同的字段中存儲多個值是不推薦的,那麼如果我想要存儲這些子字符串的單獨表是不必要的,那麼你有什麼選擇? @EmilVikström – user2057574 2013-02-23 23:51:31
是的,一個VARCHAR字段可以存儲所有字符。你說新表是「不需要」的,但是你已經取消了設計數據庫的正確方法。將多個值存儲在同一個字段中打破了關係數據庫設計的第一範式(1NF)。結果是很難根據這個屬性搜索表,索引不能使用,你不能在屬性中存儲逗號,因爲逗號現在是一個魔術常數,加入這個屬性幾乎是不可能的,分割這個字符串可能會很笨拙在某些編程語言中等等。 – 2013-02-24 11:07:32
VARCHAR將爲您工作。但這並不意味着這是正確的做法。
您應該考慮創建將每個子字符串存儲在單獨的行或列中的模式。這樣數據將更容易閱讀,編寫,最重要的是搜索。
- 1. 域中允許的字符是什麼?
- 2. SQL Server varchar字段中允許哪些「特殊」字符?
- 3. 什麼是regularexpression允許php中的特定字符
- 4. 什麼是替換字符串中不允許的字符的最佳方法?
- 5. 什麼是文本字段中允許的字符標準
- 6. 子域中允許的字符是什麼?
- 7. 什麼是SQL Server中的char/varchar?
- 8. 什麼是允許的字符Snapchat的用戶名
- 9. VARCHAR不允許任何字母(mySQL)
- 10. 爲什麼LabVIEW允許數字控制中的字符?
- 11. 什麼是在SharePoint的註釋字段中允許的最大字符數?
- 12. 什麼是SQL Server 2008視圖中允許的最大列數?
- 13. 爲什麼printf不允許指定多個格式字符串?
- 14. 爲什麼字符串Remove()方法允許char作爲參數?
- 15. 註冊插件密碼字段中允許的字符是什麼?
- 16. CookieDecoder中允許的字符
- 17. 什麼是Web服務器文件名稱的合法/允許字符?
- 18. 爲什麼允許密碼中的重複字符不安全?
- 19. 什麼是Facebook的og:type的允許值?
- 20. 爲什麼T-SQL允許null和 'NULL'
- 21. 爲什麼允許空的wchar_t文字?
- 22. 在Django/Python中允許嵌入視頻的方法是什麼?
- 23. iPhone Lite版本 - 什麼是允許的?
- 24. CSS允許/不允許字符
- 25. Varchar(max)列不允許爲SQL Server中的主鍵
- 26. 爲什麼在xml屬性中不允許使用字符'<'?
- 27. 爲什麼jQuery不允許ascii字符在html中顯示?
- 28. JSON.parse中不允許使用什麼字符?
- 29. SQL VARCHAR字符的限制
- 30. 不允許字符
當然可以。任何可打印的ascii角色都可以(其他人也可以,但是很快就會變得更加技術化)。 – thebjorn 2013-02-23 23:43:39
如果分隔符用於存儲多個值,我強烈建議不要這樣做http://en.wikipedia.org/wiki/First_normal_form – 2013-02-23 23:45:03
而且不要在URL中存儲opt/val列表,例如URL params或字符串數組領域。將它們存放在一張桌子裏。 | --ID-- | --opt-- | --val-- | – 2013-02-23 23:56:07