动态修改varchar的长度由MySQL的方法
虽然这种情况不应该发生,我们通常喜欢关系数据库,我们应该提前做好设计,以后不能改变,但由于以前的工作疏忽,说实话,不只是我个人的疏忽,是沟通的主要原因,当然,数据库是我自己设计的,所以还是自我批评。谈现状:MySQL领域有一个领域的varchar值设置过短,设置30,(我记得varchar是可扩展的,当然,现实是不容忍我,所以我只能依稀)找到一个确保数据的改变方法,varchar字段的长度动态修改,找了很长时间,我终于找到了。
在修改表名修改列字段名称varchar的名称(编号);
这个功能仍然很强大,但它提醒我们最好的设计不会是这样的。
在PS中设置varchar长度:MySQL
如果其中一个项目是由varchar(50)
所以,当然,英语是50。
那么中国人呢
UTF-8的中文占3个字节
所以,这个varchar(50)只能保存16个汉字
MySQL varchar(50)是50人中英文
mysql5的文档,它描述了varchar字段类型:VARCHAR(米)长的字符串。M代表列的最大长度,m的范围是0到65535。(的varchar的最大实际长度的长排的大小和使用的字符集和,最大有效长度确定为65532个字节)。
它为什么会这样变化这感觉就像MySQL手册太不友好,因为你需要仔细阅读它,直到你找到这样的描述:MySQL 5.1遵循标准的SQL规范,不删除VARCHAR value.varchar尾部空间是一个字节或多个字节长前缀+数据保存。如果VARCHAR列的长度大于255、长度前缀是两字节。
嗯,它似乎明白了一点,但他使用2字节长度的前缀时,他说的长度大于255,和一次减法:65535-2 = 65533。我不知道这些奶牛计算,保持怀疑的时间
注:我已经测试了UTF8编码的使用,和varchar的最大长度是21854个字节。
在MySQL 5.0.45.版本测试,数据库编码UTF8:最长的VARCHAR类型被定义为21785。也就是说,无论是字母,数字,汉字只能放在21785。
想象一下:VARCHAR字节是最大65535,和UTF8编码的字符和3字节的65535 / 3 = 21785。
以上是一个动态修改varchar长度由MySQL的方法,我想帮你。如果你有任何问题,请给我留言。萧边会及时回复你。谢谢你的支持网站。