一尘不染

MySQL VARCHAR大小限制

mysql

如果我在表中有一列具有类型字段,VARCHAR(15)并且如果我尝试插入长度为16的数据,MySQL会提示错误

Data too long for column 'testname' at row 1

有谁知道为什么MySQL中的VARCHAR字段采用固定长度?另外,基于给定的大小,每个记录的VARCHAR字段会占用多少字节?


阅读 244

收藏
2020-05-17

共1个答案

一尘不染

如果将一列设置为varchar(15)允许的最大字节数为15,则在不修改该列以使其支持超过15个字符的情况下,最多不能传递15个字符。如果存储4个字符串,则只能使用约4个字节可能的15
char(15)个字节,而如果使用它,则将用空字节填充其他11个字节。

http://dev.mysql.com/doc/refman/5.0/en/char.html

(我的字节计算可能已关闭,因为它始终为-1 / + 1或类似的值)。

2020-05-17