“Specified key was too long; max key xxx bytes”该怎么解决?

首先很明显地说明了设置的索引太长,太长就会导致性能问题,所以就提示咯。而对于varchar(200)以上字符的字段,没有必要做那么长的索引,可以阶段的(部分),修改为:

字段如下:

f_type int(11), f_key varchar(256), PRIMARY KEY(f_type,f_key(40))

备注:

这样修改之后可能有一些风险哦,因为作为主键必须唯一,可能出现问题的情况,毕竟只截断了40个字符....

对于InnoDB引擎的表,不建议你们使用此类组合模式做主键,性能会很差,建议数值类型的字段作主键,外加创建唯一索引的模式,例如:

id INT UNSIGNED AUTO_INCREMENT,f_type int(11), f_key varchar(256), PRIMARY KEY(ID),UNIQUE KEY(f_type,f_key(80))
相关推荐:
想要解决此问题,非常地简单。 先进行下系统更新,打了系统补丁后就可以正常使用了。如果你想在win8.1上面使用office2016,更新补丁吧。
当你的控制台上找不到错误或者看不懂错误的时候,点 Project-->clean,清空下项目就会没问题。
如下代码让位于同一行的两个控件分别左对齐和右对齐: <RelativeLayout xmlns:Android="http://schemas.android.com/apk/res/android" Android:background="@drawable/top" Android:layout_width="fill_ …
开始→设置→控制面板→管理工具→服务,打开后,在右边的窗口中右击“Application Layer Gateway Service”服务,选择“属性”。 1、禁用Windows自带防火墙服务 开始→设置→控制面板→管理工具→服务,打开后,在右边 …
默认的头像是灰底白纹的简单头像,而对于很多人而言可能使用了微软的账户进行登录,登录后头像就会被同步成微软账户上的头像,又或者是自行改了头像。 对于此类的情况,很多人会想着恢复到默认的头像,怎么 …
手机扫一扫即可带走我!