指定的密钥太长;最大密钥长度为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中,希望您解决该问题。     

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...