MySQL的varchar定义长度是指字符长度,不是字节长度

本文澄清了一个常见的误解,即MySQL数据库中varchar类型的长度定义是基于字符数而非字节数。通过实例验证,即使对于中文字符,varchar(128)也可以容纳128个汉字。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天在做页面的一个input的输入字符串长度校验的任务,数据库中对这个字段定义为 title  varchar(128) null, MySQL数据库。

一直以为128是字节长度,一个汉字2字节,英文等一个字节,所以最多只能放64个汉字。

可实际是我能放128个汉字,不能放129个汉字。说明:MySQL的varchar定义长度是指字符长度,不是字节长度。

 

字符: 人们使用的记号,抽象意义上的一个符号。一个汉字和英文就是一个字符,如'1', '中', 'a', '$', '¥',……
字节: 计算机中存储数据的单元,一个8位的二进制数,是一个很具体的存储空间,如0x01, 0x45, 0xFA,……

 

参考文章:MySQL的varchar定义长度到底是字节还是字符  http://cau99.blog.51cto.com/1855224/383023/

 

转载于:https://www.cnblogs.com/xxchao/p/3954265.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值