当前位置: 首页 » 笔记 » mysql中的char,varchar,text类型正文

mysql中的char,varchar,text类型

  • 零分
  • 700

写这个是因为前段时间写了一个短网址的,一直都会出现错误(写短网址当然是为了缩短阿里妈妈的推广链接了),之前一直不知道为什么,有时候可以,有时候不可以,以为是编码的问题。后来通过获取的链接和写入MYSQL数据库的链接进行了对比,发现duang了一下短了。才明白原来是MYSQL字符属性的问题。(不知道叫什么,就叫他属性吧)

刚开始是用char,不行,改成了varchar(255),还是短。干脆就改成了text.

char:最大长度是255字符,注意是字符数和字符集没关系。可以有默认值,尾部有空格会被截断。

varchar:最大长度65535是指能存储的字节数,其实最多只能存储65532个字节,还有3个字节用于存储长度。注意是字节数这个和字符集有关系。一个汉字字符用utf8占用3字节,用gbk占用2字节。可以有默认值,尾部有空格不会截断。

textvarchar基本相同:text会忽略指定的大小这和varchar有所不同,text不能有默认值。尾部有空格不会被截断。text使用额外的2个字节来存储数据的大小,varchar根据存储数据的大小选择用几个字节来存储。text的65535字节全部用来存储数据,varchar则会占用1-3个字节去存储数据大小。

好吧,上面是百度的,简单的讲,就算有字符长度的限制了。一个阿里妈妈的链接有些是超过255的,不信你去取一个过来数数!绝对有超过255个字符的。换了text就再也不担心长度不够用了!

声明:博客中如无特殊说明或标注的文章均为博客原创文章,部分文章来源互联网,如有侵犯您的版权,或者对零分博客发布的文章有异议,请来信告知删除、修改,如您有好的建议或者意见也可以来信,谢谢!

请TA喝杯水^_^ 如本文“对您有用”,欢迎随意打赏,让我们坚持创作! 请TA喝水