一开始这三个字段我设置的是 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-3081.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'。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。