一开始这三个字段我设置的是 VARCHAR类型的,当后台上传两张图片之后,不管再怎么上传就是不显示,经过查阅,与后台字段类型有关,因为每个字段类型所能保存的最大字节数是不一样的。
然后我把 VARCHAR 修改成 MEDIUMTEXT 之后,前台就能显示了。
下边整理几个字符类型:
字符型(varchar)
VARCHAR是一种比CHAR更加灵活的数据类型,同样用于表示字符数据,但是VARCHAR可以保存可变长度的字符串。其中M代表该数据类型所允许保存的字符串的最大长度,只要长度小于该最大值的字符串都可以被保存在该数据类型中。因此,对于那些难以估计确切长度的数据对象来说,使用VARCHAR数据类型更加明智。VARCHAR数据类型所支持的最大长度也是255个字符。
定长字符型(CHAR)
表达范围0-255字节数,如果是存字母就是255个,因为每个字母只占一个字节,无论是什么编码,如果是存gbk存中文就是2个字节代表一个汉字,所以就是255/2,如果是utf8编码就是255/3,因为utf8编码下的中文占用三个字节代表一个汉字。正确的说应该叫做Unicode编码 又叫做万国码,他的实现有utf8
小型字符型(TEXT)
表达范围就是65535字节,一般用来存商品描述。
中型字符型(MEDIUMTEXT)
MEDIUMTEXT 最大长度是 16777215 (2^24 - 1) 个字符。
大型字符型(LONGTEXT)
LONGTEXT 最大长度是 4294967295 (2^32 - 1) 个字符
小数值型(TINYINT)
tinyint是1个字节表达范围就是2的8次方(-128-128) 或者(0-255) 很多人不明白为什么有两种情况,因为在计算机中有一种说法叫做无符号,也就是全部是正整数,所以在用MySQL 选择整形字段的时候一定要加上unsigned也就是无符号,因为负数基本不会用到。
中数值型(SMALLINT)
-32768 到 32767 常规。0 到 65535 无符号*。在括号中规定最大位数。
大数值型(INT)
int是4个字节表达范围2的32次方,记住这个类型是不能存储手机号的,很多人用它存然后直接报错了,因为int最长到10长度,手机号是11位,所以如果存手机号我的建议用定长字符型(CHAR)
超大数值型(BIGINT)
-9223372036854775808 到 9223372036854775807 常规。0 到 18446744073709551615 无符号*。在括号中规定最大位数。
数值浮点型(FLOAT)
浮点型,也就是存小数。
数值双精度型(DOUBLE)
双精度浮点(double)型,占8 个字节(64位)内存空间。其数值范围为1.7E-308~1.7E+308,双精度完全保证的有效数字是15位,16位只是部分数值有保证,而单精度保证7位有效数字,部分数值有8位有效数.
日期型(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'。