多列主键(MySQL)的最大列数是多少?它是否取决于列数据类型或引擎?
问问题
6941 次
2 回答
0
我找到了这个:
有人试图用 2 列创建一个 PK 并收到此错误:
“指定的密钥太长;最大密钥长度为 1024 字节”所以看起来最大值为 1024 字节,列数无关紧要,真正重要的是var 类型和空间分配它。
我见过一些这样的例子:
create table OS_PROPERTYENTRY (entity_name VARCHAR(125) not null, entity_id BIGINT not null,
entity_key VARCHAR(255) not null date_val DATETIME, primary key (entity_name, entity_id, entity_key))
在哪里
125 *(3 个字节)+ 255 *(3 个字节)+ 1 *(8 个字节)= 1148 个字节。所以不可能创建一个PK。
看看这里,他们谈论它:https ://jira.atlassian.com/browse/CONF-2783
于 2012-10-11T12:36:21.753 回答