一開始這三個字段我設置的是 VARCHAR類型的,當后臺上傳兩張圖片之后,不管再怎么上傳就是不顯示,經(jīng)過查閱,與后臺字段類型有關,因為每個字段類型所能保存的最大字節(jié)數(shù)是不一樣的。
然后我把 VARCHAR 修改成 MEDIUMTEXT 之后,前臺就能顯示了。
下邊整理幾個字符類型:
字符型(varchar)
VARCHAR是一種比CHAR更加靈活的數(shù)據(jù)類型,同樣用于表示字符數(shù)據(jù),但是VARCHAR可以保存可變長度的字符串。其中M代表該數(shù)據(jù)類型所允許保存的字符串的最大長度,只要長度小于該最大值的字符串都可以被保存在該數(shù)據(jù)類型中。因此,對于那些難以估計確切長度的數(shù)據(jù)對象來說,使用VARCHAR數(shù)據(jù)類型更加明智。VARCHAR數(shù)據(jù)類型所支持的最大長度也是255個字符。
定長字符型(CHAR)
表達范圍0-255字節(jié)數(shù),如果是存字母就是255個,因為每個字母只占一個字節(jié),無論是什么編碼,如果是存gbk存中文就是2個字節(jié)代表一個漢字,所以就是255/2,如果是utf8編碼就是255/3,因為utf8編碼下的中文占用三個字節(jié)代表一個漢字。正確的說應該叫做Unicode編碼 又叫做萬國碼,他的實現(xiàn)有utf8
小型字符型(TEXT)
表達范圍就是65535字節(jié),一般用來存商品描述。
中型字符型(MEDIUMTEXT)
MEDIUMTEXT 最大長度是 16777215 (2^24 – 1) 個字符。
大型字符型(LONGTEXT)
LONGTEXT 最大長度是 4294967295 (2^32 – 1) 個字符
小數(shù)值型(TINYINT)
tinyint是1個字節(jié)表達范圍就是2的8次方(-128-128) 或者(0-255) 很多人不明白為什么有兩種情況,因為在計算機中有一種說法叫做無符號,也就是全部是正整數(shù),所以在用MySQL 選擇整形字段的時候一定要加上unsigned也就是無符號,因為負數(shù)基本不會用到。
中數(shù)值型(SMALLINT)
-32768 到 32767 常規(guī)。0 到 65535 無符號*。在括號中規(guī)定最大位數(shù)。
大數(shù)值型(INT)
int是4個字節(jié)表達范圍2的32次方,記住這個類型是不能存儲手機號的,很多人用它存然后直接報錯了,因為int最長到10長度,手機號是11位,所以如果存手機號我的建議用定長字符型(CHAR)
超大數(shù)值型(BIGINT)
-9223372036854775808 到 9223372036854775807 常規(guī)。0 到 18446744073709551615 無符號*。在括號中規(guī)定最大位數(shù)。
數(shù)值浮點型(FLOAT)
浮點型,也就是存小數(shù)。
數(shù)值雙精度型(DOUBLE)
雙精度浮點(double)型,占8 個字節(jié)(64位)內(nèi)存空間。其數(shù)值范圍為1.7E-308~1.7E+308,雙精度完全保證的有效數(shù)字是15位,16位只是部分數(shù)值有保證,而單精度保證7位有效數(shù)字,部分數(shù)值有8位有效數(shù).
日期型(DATE)
存儲日期格式:'YYYY-MM-DD',范圍:'1000-01-01'到'9999-12-31'。
日期時間型(DATETIME)
存儲日期和時間格式:'YYYY-MM-DD HH:MM:SS',范圍:'1000-01-01 00:00:00'到'9999-12-31 23:59:59'。