2 yamemory YaMemory 于 2016.01.19 20:03 提问

MySQL中在创建表的时候创建组合索引,为什么我加了索引长度后就提示错误呢?

这是在创建表的同时创建了组合索引,并且添加了索引长度100,然后提示
ERROR 1089 (HY000): Incorrect prefix key; the used key part isn't a string, the
used length is longer than the key part, or the storage engine doesn't support u
nique prefix keys。图片说明
然后我重新创建数据表,同时将索引长度100去掉,结果便可以了,如图:图片说明

3个回答

u013129324
u013129324   2016.01.19 20:37
已采纳

你的age不是int的么 又不是字符串。。。

u013129324
u013129324 回复YaMemory: 是的 只有字符串才有prefix index,数值型的索引都是按自身格式长度的
接近 2 年之前 回复
YaMemory
YaMemory 我把100放在了name的后面,结果输出正确了。。。但我想问一下只有字符串才能定义索引长度吗?难道整数和浮点数类型不能定义索引长度?
接近 2 年之前 回复
91program
91program   Ds   Rxr 2016.01.19 20:20

age 的数据类型,是不是与长度 100 不匹配?按错误的意思来说,是这个。
但具体的情况,需要根据实现字段类型来判断。

Evankaka
Evankaka   Ds   Rxr 2016.01.19 20:55

INT最多应该 是11位吧,试试把100改成11.如果不行。那就是不能这样写了,反正笔者的参与的项目还没见过这样写的

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!