1、mysql 错误提示:[SQ雉搽妤粲L]CREATE TABLE IF NOT EXISTS websites ( id bigint(20) unsigned 绿覆冗猩NOT NULL auto_increment, `date` varchar(100)NOT NULL default '0000-00-00', site varchar(255) NOT NULL default '', did varchar(255) , groupid varchar(255) NOT NULL , PRIMARY KEY (id), UNIQUE KEY date_site_groupid (`date`,site,groupid));[Err] 1071 - Specified key was too long; max key length is 1000 bytes
2、问题分析:建立索引时,数据库计算key的长度是累加所有Index用到的字段的char长度后再按下面比例乘起来不能超过限定的key长度1000:latin1 = 1 byte = 1 characteruft8 = 3 byte = 1 charactergbk = 2 byte = 1 character上步骤语句中索引总长度(100+255+255) * 2 = 1220 > 1000找到了问题所在。
3、问题解决:修改sql语句:CREATE TABLE IF NO哌囿亡噱T EXISTS websites ( id bigint(20) unsigned NOT NULL auto_increment, `date`varchar(50)NOT NULL default '0000-00-00', site varchar(255) NOT NULL default '', did varchar(50) , groupid varchar(50) NOT NULL , PRIMARY KEY (id), UNIQUE KEY date_site_groupid (`date`,site,groupid));这样问题就解决了。(^_^)