今天设计表结构,加了几个字段,结果报错了
Ligne trop grande. Le taille maximale d'une ligne, sauf les BLOBs, est 65535.........
当时的情况是,表中本来已经有50个字段了, 这次的需求需要添加18个字段,我将18个字段全部设置成vachar 255 。 结果报错了。不明白什么原因
这个错误用百度翻译出来就是 “行太大了。在规模最大的线。除了blobs,65535。”
到底是怎么一回事呢?难道单条记录有限制?
后来将这18个字段的长度都设置成了100,创建成功了
网上看到下面这段文字
MySQL的记录长度
MySQL默认规定一条记录最大的长度是65535字节,所有的字段加在一起所占的字节数不能超过65535。但是MySQL中字段的长度有的时使用字节来规定int,有些字段类型是使用字符个数来规定的。
1个汉字所占的是多少?根据字符编码而定,
latin1字符集1个字母占据1个字节。
gbk字符集1个汉字占据2个字节
utf8字符集1个汉字占据3个字节
还需要考虑varchar的记录长度,需要使用1或2个字节来记录。
还需要考虑null值的问题。