在MySQL對該格式的表: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.
- 32爲CHAR(32)
- 2 SMALLINT(5)
- 2 SMALLINT(5)
- 8爲日期時間
- 1枚舉
- 1枚舉
但相反的行長度爲111每次我嘗試它的時候。爲什麼這是我找不到任何解釋。難道我做錯了什麼?
謝謝,我曾看過[本頁](http://dev.mysql.com/doc/refman/5.1/en/charset-unicode-utf8.html),但顯然沒有真正閱讀它。我看到「基本拉丁字母,數字和標點符號使用一個字節」的部分。但沒有注意到「MySQL必須爲每個字符保留三個字節」的部分。 – richardthepratt 2011-06-13 13:56:23