在MySQL中以这种格式表:
CREATE TABLE IF NOT EXISTS `test` (
`field1` char(32) NOT NULL,
`field2` smallint(5) unsigned NOT NULL,
`field3` smallint(5) unsigned NOT NULL,
`field4` datetime NOT NULL,
`field5` enum('opt1','opt2','opt3','opt4','opt5') NOT NULL,
`field6` enum('opt1','opt2','opt3','opt4','opt5','opt6') NOT NULL,
PRIMARY KEY (`field1`),
KEY `field5` (`field5`),
KEY `field2` (`field2`),
KEY `field4` (`field4`),
KEY `field6` (`field6`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
我希望行长度为46。
但每次尝试时行长度为111。我找不到任何解释为什么会这样。我做错了吗?
答案 0 :(得分:2)
char(32)的UTF8字段每个字符最多使用3个字节。
答案 1 :(得分:1)
utf8 char的大小在mysql中是3或4个字节
答案 2 :(得分:0)
你没有做错事。这是正常的。