Specified key was too long; max key length is 767 bytes
ps:今天在公司环境下写了个demo,在oracle数据库中没有任何问题,回家后,尝试在本机mysql建立数据库时,居然建表失败。
搜索了下原因:是因为主键,varchar长度超过255时,主键默认建立索引时失败引起:
在不同的字符集下:
latin1 = 1 byte = 1 character
uft8 = 3 byte = 1 character
gbk = 2 byte = 1 character
当尝试减少id的长度,减少至255时,建立表成功(uft8字符集)
本文探讨了在使用MySQL数据库时遇到的主键索引长度限制问题,特别是在使用UTF-8字符集的情况下,当主键包含VARCHAR类型且长度超过255时,会导致建表失败。文章详细解释了不同字符集下主键长度限制的原因。
174万+

被折叠的 条评论
为什么被折叠?



