执行如下语句:
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~~

解决方案 »

  1.   

    那我应该把"text"这个地方换成什么呢?
      

  2.   

    如果字符长度不是很长  text 换成varchar吧
      

  3.   

    就是因为很长才要用text的嘛
    你试过varchar(65535)行吗,我昨天试过了好像不行的么
      

  4.   

    不知道最后的“,UNIQUE KEY unique2 (ex_desc,stacktrace)”有什么用?去掉就可以了。
      

  5.   

     UNIQUE KEY unique2 (ex_desc,stacktrace) 
     --定义出错
      

  6.   


    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个字节!!!
      

  7.   

      PRIMARY KEY  (id), 
      UNIQUE KEY unique2 (ex_desc,stacktrace)后面那句不用了,键值不可以用text类型的
    你在这里加索引也没什么意思,如果真想对这些内存查询的话似乎应该建立全文索引把后面那个去掉,改为
      PRIMARY KEY  (id)
    试下吧