如何解决指定的密钥太长;最大密钥长度为1000个字节
| 通过MysqL转储导入import Joomla 1.5数据库,但它给出错误“ 1071-指定的密钥太长;最大密钥长度为1000字节” culrpit sql语句是: CREATE TABLE `jos_core_acl_aro` (
`id` INT( 11 ) NOT NULL AUTO_INCREMENT,`section_value` VARCHAR( 240 ) NOT NULL DEFAULT \'0\',`value` VARCHAR( 240 ) NOT NULL,`order_value` INT( 11 ) NOT NULL DEFAULT \'0\',`name` VARCHAR( 255 ) NOT NULL,`hidden` INT( 11 ) NOT NULL DEFAULT \'0\',PRIMARY KEY ( `id` ),UNIQUE KEY ( `section_value`,`value` ),KEY `jos_gacl_hidden_aro` ( `hidden` )
) ENGINE = MYISAM DEFAULT CHARSET = utf8 AUTO_INCREMENT =11;
MysqL said:
#1071 - Specified key was too long; max key length is 1000 bytes
源数据库和目标数据库是UTF8。我仍然不知道为什么会发生此错误:(
解决方法
mysql将utf8编码的字符存储为3个字节
你的钥匙
UNIQUE KEY ( `section_value`,`value` ),
大小为(240 + 240)* 3个字节,大于1000个限制
, 在php配置中可能会遇到错误,问题是您没有激活mbstring扩展,因此,mysql无法分离或剪切字符串,这可以由多字节字符串假定,请尝试激活mbstring扩展在您的php.ini中,希望您解决该问题。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。