搜索了 docs , 但无济于事。
枚举值(即字符串文字)的最大长度是多少?
最佳答案
限制不在文字字符串的长度上,而是在表定义上。
Each table has an .frm file that contains the table definition. The server uses the following expression to check some of the table information stored in the file against upper limit of 64KB.
然后是一个表示表定义的近似大小的临时方程。
对于一个简单的测试,在一个已经有几个字段的表中,我得到了 63136 个字符长的枚举,.frm 是 71775 字节大(略大于 70KB),所以限制是近似的。那时,MySQL 提示 #1117 - Too many columns
,至少可以说是误导。
有趣/奇怪/值得注意的是,枚举的字符集会改变最大长度。 -- 即使您使用的是普通字符,每个字符只需要 1 个字节。
关于mysql - ENUM 值的最大长度是多少?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4307232/