mysql中的设置varchar长度问题
来源:互联网 发布:手机上淘宝怎么实名制 编辑:程序博客网 时间:2024/04/29 02:40
mysql中的设置varchar长度问题
如果某一项中设置的是varchar(50)
那么对英文当然是50
那么对中文呢
utf-8的中文占3个字节
那么,这个varchar(50)是不是只能存16个汉字了?
mysql varchar(50) 不管中文 还是英文 都是存50个的
MySQL5的文档,其中对varchar字段类型这样描述:varchar(m) 变长字符串。M 表示最大列长度。M的范围是0到65,535。(VARCHAR的最大实际长度由最长的行的大小和使用的字符集确定,最大有效长度是65,532字节)。
为何会这般变换?真是感觉MySQL的手册做的太不友好了,因为你要仔细的继续往下读才会发现这段描述:MySQL 5.1遵从标准SQL规范,并且不删除VARCHAR值的尾部空格。VARCHAR保存时用一个字节或两个字节长的前缀+数据。如果VARCHAR列声明的长度大于255,长度前缀是两个字节。
好了,貌似懂了一点。但具体他说的长度大于255时使用2个字节长度前缀,小学减法题:65535 - 2 = 65533啊。不知道这些大牛如何计算的,暂且保留疑问吧?
注:我测试了一下使用UTF8编码,varchar的最大长度为21854字节。
在mysql 5.0.45版本,数据库编码utf8下进行测试:varchar最长定义为21785。也就是说不论字母、数字、汉字,只能放21785个。
推想:varchar字节最大65535,utf8编码一个字符3个字节65535/3=21785。
- mysql中的设置varchar长度问题
- MySQL的varchar长度问题
- MySQL的varchar长度问题
- mysql的varchar长度问题
- MySQL的varchar长度问题 分类: MySQL
- Html maxlength Mysql varchar 长度问题
- mysql varchar 类型 长度
- MySQL中varchar长度
- sql varchar 长度问题
- MySQL VARCHAR数据类型的长度
- mysql varchar长度存放汉字
- MySQL动态修改varchar长度
- mysql varchar 最大长度 65535
- mysql varchar 的最大长度
- MySQL CHAR VARCHAR 字段长度
- MySQL varchar(220) 存储长度
- MySql中的varchar类型
- MySql中的varchar类型
- java通过ftp方式读取文件,并解析入库
- 回调函数的简单实例
- 图片标签img中alt与title的区别与使用要点
- 视频编码基础–帧的类型
- Python web.py 的初步安装
- mysql中的设置varchar长度问题
- 查询mysql数据库中的表名以及字段名
- 查看windows进程端口
- Exim sender_address Remote Command Execution
- ASP.NET中Hashtable和ArryList
- 黑马程序员之IO流
- android系统体系结构
- 如何让DIV固定在页面的某个位置而不随着滚动条随意滚动
- nohup 命令