[Err] 1071 - Specified key was too long; max key length is 767 bytes
[Err] CREATE TABLE `jc_file` (
`file_path` varchar(255) NOT NULL default '' COMMENT '文件路径',
`file_name` varchar(255) default '' COMMENT '文件名字',
`file_isvalid` tinyint(1) NOT NULL default '0' COMMENT '是否有效',
`content_id` int(11) default NULL COMMENT '内容id',
PRIMARY KEY (`file_path`),
KEY `fk_jc_file_content` (`content_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
[Msg] Finished - Unsuccessfully
--------------------------------------------------
这是我导入一个.sql文件的出错信息。这个要怎么弄呢?
MySQLError
解决方案 »
- mysql 怎么在导入文件时让它忽略错误
- mysql行转化列 ?????
- postgres 数据库问题 ,很着急各位大哥帮帮忙阿,我要走了,可是走不了。
- 急:SQL统计问题
- MySQL-Front 3.0
- 怎样彻底删除mysql?(linux)
- MySQL如何利用API备份数据库?
- 为什么我的webapp程序经过若干段时间之后会出现communication link failure的问题。
- 使用mysqldump的--all-databases参数完整备份数据库时如何排除掉某些不需要备份的库?
- 实体类设计
- 请教用过db4free的大哥。。。。。。
- LOAD DATA INFILE 有时候会失败。 LINUX MYSQL C
然后我把'file_path' varchar(255)改为varchar(100) 就做了这么一个改动。然后Excute sql file就出现下面的错误:[Err] 1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '# MySQL-Front 5.1 (Build 4.2)/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE */' at line 1
[Err] # MySQL-Front 5.1 (Build 4.2)/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE */;
[Msg] Finished - Unsuccessfully
--------------------------------------------------
OMMENT '文件路径', `file_name` varchar(255) default '' COMMENT '文件名字', `
file_isvalid` tinyint(1) NOT NULL default '0' COMMENT '是否有效', `content_id`
int(11) default NULL COMMENT '内容id', PRIMARY KEY (`file_path`), KEY `fk_
jc_file_content` (`content_id`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
Query OK, 0 rows affected (0.17 sec)mysql>
Specified key was too long;max key length is 767 bytes. 出现这个问题检查1)字符集是否是UTF8,UTF8下一个字符占三个字节,lanti1只占一个字节 2)存储引擎是否是INNODB,INNODB才有这个限制。
`file_path` VARCHAR(255) CHARACTER SET gbk COLLATE gbk_chinese_ci NOT NULL COMMENT '文件路径',
`file_name` VARCHAR(255) CHARACTER SET gbk COLLATE gbk_chinese_ci NOT NULL COMMENT '文件名字',
`file_isvalid` TINYINT(1) UNSIGNED NOT NULL DEFAULT 0 COMMENT '是否有效',
`content_id` INTEGER UNSIGNED NOT NULL COMMENT '内容id',
PRIMARY KEY USING BTREE(`file_path`)
)
ENGINE = InnoDB
CHARACTER SET gbk COLLATE gbk_chinese_ci;试试吧,我是可以成功的