执行如下语句:
CREATE TABLE csdn.m_exception_recorder (
id bigint(20) unsigned NOT NULL auto_increment,
ex_desc TEXT NOT NULL COMMENT 'e.toString()',
stacktrace TEXT NOT NULL COMMENT '堆栈信息',
occurTime timestamp NOT NULL default CURRENT_TIMESTAMP,
delete_flag int(10) unsigned NOT NULL default '1' COMMENT '值1为存在,2为逻辑删除',
occurTimes bigint(20) unsigned NOT NULL default '0' COMMENT '发生的次数',
PRIMARY KEY (id),
UNIQUE KEY unique2 (ex_desc,stacktrace)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;报如下错误:
BLOB/TEXT column 'ex_desc' used in key specification without a key length恳请朋友们指教,提出建议也欢迎,3q~~
CREATE TABLE csdn.m_exception_recorder (
id bigint(20) unsigned NOT NULL auto_increment,
ex_desc TEXT NOT NULL COMMENT 'e.toString()',
stacktrace TEXT NOT NULL COMMENT '堆栈信息',
occurTime timestamp NOT NULL default CURRENT_TIMESTAMP,
delete_flag int(10) unsigned NOT NULL default '1' COMMENT '值1为存在,2为逻辑删除',
occurTimes bigint(20) unsigned NOT NULL default '0' COMMENT '发生的次数',
PRIMARY KEY (id),
UNIQUE KEY unique2 (ex_desc,stacktrace)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;报如下错误:
BLOB/TEXT column 'ex_desc' used in key specification without a key length恳请朋友们指教,提出建议也欢迎,3q~~
你试过varchar(65535)行吗,我昨天试过了好像不行的么
--定义出错
CREATE TABLE m_exception_recorder (
id bigint(20) unsigned NOT NULL auto_increment,
ex_desc TEXT NOT NULL COMMENT 'e.toString()',
stacktrace TEXT NOT NULL COMMENT '堆栈信息',
occurTime timestamp NOT NULL default CURRENT_TIMESTAMP,
delete_flag int(10) unsigned NOT NULL default '1' COMMENT '值1为存在,2为逻辑删除',
occurTimes bigint(20) unsigned NOT NULL default '0' COMMENT '发生的次数',
PRIMARY KEY (id),
UNIQUE KEY unique2 (ex_desc(100),stacktrace(155))
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
键值不能多于767个字节!!!
UNIQUE KEY unique2 (ex_desc,stacktrace)后面那句不用了,键值不可以用text类型的
你在这里加索引也没什么意思,如果真想对这些内存查询的话似乎应该建立全文索引把后面那个去掉,改为
PRIMARY KEY (id)
试下吧