2010-07-28 156 views
4

用於存儲URL的最佳數據類型是什麼?用於存儲URL的數據類型

我需要保存數據庫中圖片的文件系統路徑。

+1

哪個數據庫? 'VARCHAR'限制可能會有所不同。 – pascal 2010-07-28 08:58:25

+3

可能重複的[最佳數據庫字段類型的URL](http://stackoverflow.com/questions/219569/best-database-field-type-for-a-url) – 2010-07-28 09:10:26

+0

可能的重複[最佳數據庫字段類型爲一個URL](https://stackoverflow.com/questions/219569/best-database-field-type-for-a-url) – 2017-08-09 09:29:38

回答

3

VARCHAR就夠了。

CHAR應該用於存儲固定長度的字符串。存儲在磁盤上之前,字符串值將被填充空白/空白。如果此類型用於存儲varibale長度字符串,則會浪費大量磁盤空間。

+1

對不起,爲什麼不使用char來代替?謝謝 – GibboK 2010-07-28 08:54:42

+0

CHAR應該用於存儲固定長度的字符串。存儲在磁盤上之前,字符串值將被填充空白/空白。如果此類型用於存儲varibale長度字符串,則會浪費大量磁盤空間。 – 2010-07-28 09:28:05

+0

謝謝,我現在明白了 – GibboK 2010-07-28 11:05:41

1

varchar。根據您的領域知識選擇合適的最大長度。

+0

對不起,爲什麼varchar和不只是字符? – GibboK 2010-07-28 08:54:18

+1

@GibboK:因爲你會用'char'浪費很多空間。與固定大小的char數據類型不同,當不使用字段的全長時,varchar不存儲任何空白字符。 – 2010-07-28 08:54:59

+1

因爲char是固定長度的,你會浪費很多空間。 – 2010-07-28 08:55:13

4

網址是字符串,並且是可變長度。

如果您的數據庫系統支持此操作,請使用VARCHAR。

2

VARCHAR2(4000),足以滿足您的需求

2

我們往往把它們保存爲url編碼VARCHAR秒。 (因爲我們的URL是從服務器到達數據庫的,所以我們使用PHP的urlencode對它們進行編碼,然後在我們用urldecode檢索它們時對它們進行解碼。)不要以爲還有其他需要完成的事情 - 您可以將它們存儲爲未編碼VARCHAR s。

+0

謝謝斯蒂芬,我可以問你爲什麼它有用的編碼URLS數據庫? – GibboK 2010-07-28 09:00:36

+0

出於安全目的 – 2010-07-28 09:11:47