错误原因:

查阅资料后才知道,原来Mysql数据库对于BLOB/TEXT这样类型的数据结构只能索引前N个字符。所以这样的数据类型不能作为主键,也不能是UNIQUE的。所以要换成VARCHAR,但是VARCHAR类型的大小也不能大于255,当VARCHAR类型的字段大小如果大于255的时候也会转换成小的TEXT来处理。所以也同样有问题。

解决办法:

看了下该表的数据结构发现request_data字段类型是text

查询了下发现是:MySQL只能将BLOB/TEXT类型字段设置索引为BLOB/TEXT数据的钱N个字符.索引指定下request_data的长度就可以了 :

alter table foo add index request_data (request_data(10))

联合索引

alter table testcase add unique index(request_url,request_data(5));

执行这条sql前先删除表中所有重数据,删除sql如下:

DELETE testcase
FROM
testcase,
(
SELECT
max(id) id,
api_purpose,
request_url,
request_data,
assert_method,
check_point,
correlation,
active,
creater
FROM
testcase
GROUP BY
api_purpose,
request_url,
request_data,
assert_method,
check_point,
correlation,
active,
creater
HAVING
count(*) > 1
) t2
WHERE
testcase.api_purpose = t2.api_purpose
and testcase.api_purpose = t2.api_purpose
and testcase.request_url = t2.request_url
and testcase.request_data = t2.request_data
and testcase.assert_method = t2.assert_method
and testcase.check_point = t2.check_point
and testcase.correlation = t2.correlation
and testcase.active = t2.active
and testcase.creater = t2.creater
and testcase.id <t2.id;

参考文章:

这篇错误原因讲的很清晰

操作MySQL出错提示“BLOB/TEXT column used in key specification without a key length”解决办法

这篇是解决方案:

mysql添加字段索引失败 BLOB/TEXT column 'col2' used in key specification without a key length

操作MySQL出错提示“BLOB/TEXT column request_data in key specification without a key length”解决办法的更多相关文章

  1. pandas对象保存到mysql出错提示“BLOB/TEXT column used in key specification without a key length”解决办法

    问题 将DataFrame数据保存到mysql中时,出现错误提示: BLOB/TEXT column used in key specification without a key length 原因 ...

  2. [MySQL-1] mysql error 1101 blob/text column can't have a default value

    在MySQL Query Browser上创建一个含有TEXT类型的字段,创建不成功,报错:mysql error 1101 blob/text column can't have a default ...

  3. 安装mysql时提示The host 'xxx' could not be looked up with resolveip的解决办法

    1.首先用cat查看/etc/hosts文件,会显示以下内容: 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.loca ...

  4. 1170 - BLOB/TEXT column 'CustomerName' used in key specification without a key length

    [DTF] Data Transfer 企管宝_2_CRM start[DTF] Getting tables[DTF] Analyzing table: `CustomerInfo`[DTF] Ge ...

  5. MySQL Error 1170 (42000): BLOB/TEXT Column Used in Key Specification Without a Key Length【转】

    今天有开发反应他的建表语句错误,我看了下,提示: MySQL Error 1170 (42000): BLOB/TEXT Column Used in Key Specification Withou ...

  6. mysql联合索引阻碍修改列数据类型:BLOB/TEXT column 'name' used in key specification without a key length

    今天在项目中mysql表中有一个字段数据类型为varchar,长度不够需要换为text类型 当时表是已经存在的表, CREATE TABLE `table_aaa` ( `id` int NOT NU ...

  7. mysql添加字段索引失败 BLOB/TEXT column 'col2' used in key specification without a key length

    看了下该表的数据结构发现col2字段类型是text ,查询了下发现是:MySQL只能将BLOB/TEXT类型字段设置索引为BLOB/TEXT数据的钱N个字符.索引指定下col2的长度就可以了 : al ...

  8. 添加索引:BLOB/TEXT column 'xxx' used in key specification without a key length

    问题 1. 将DataFrame数据保存到mysql后,添加索引出现错误提示: BLOB/TEXT column used in key specification without a key len ...

  9. 解决BLOB/TEXT column can't have a default value query问题

    Create table的时候,报错BLOB/TEXT column 'xxxxxx( 表名称)' can't have a default value query ,意思是TEXT类型的表字段不能够 ...

随机推荐

  1. 为什么wamp 放两个网站 或者多个网站就很卡很慢,问题在这里

    PHP的配置比较简单,只需要进行一些基本设置的修改就可以了,依次点击—PHP—php.ini,找到这三个地方:short_open_tag = Off(是否允许使用 PHP 代码开始标志的缩写形式(& ...

  2. Delphi Label组件

  3. zabbix分布式部署和主机自动发现

    1.分布式部署原理 1.1Zabbix分布式部署的原理 传统的部署架构,是server直接监控所有的主机,全部主机的数据都是有server自己来采集和处理,server端的压力比较大,当监控主机数量很 ...

  4. deepin下挂载的的Windows系统(NTFC)目录怎么是只读的???

    关键命令: df-h sudo ntfsfix /dev/sda4 重启 参考博客:深度官网问题之大神回复

  5. 01-jar包操作---idea打jar包

    文章:idea打包java可执行jar包 maven项目的话,使用maven命令,直接build就可以打jar包.

  6. dcoker_ubuntu中安装python2.7

    1.apt-get update 2.apt-get install python2.7 或 1.sudo apt-get update 2.sudo apt-get install python2. ...

  7. docker资源隔离实现方式

    默认情况下,一个容器没有资源限制,几乎可以使用宿主主机的所有资源.docker提供了控制内存.cpu.block io.但是实际上主要是namespace和cgroup控制资源的隔离. Docker的 ...

  8. Java & Mysql 餐饮管理系统 过程心得记录

    ------------------------------------------Have a Good Day~---------------------------------- 准备国赛和AC ...

  9. 前端_DOM&BOM

    前端BOM BOM:浏览器对象模型 window alert:弹出信息框 alert('String') // 或者 Window.alert("String") confirm: ...

  10. tp5中的return

    return 可以输出对象,但是不可以输出数组 class Index { public function index(Student $student) { $data = $student-> ...