3.5K Star 98.3K Fork 13K

芋道源码 / ruoyi-vue-pro

 / 详情

MySQL错误“Specified key was too long; max key length is 1000 bytes”

已完成
创建于  
2022-05-14 17:38

MySQL错误“Specified key was too long; max key length is 1000 bytes”的解决办法

最近在处理执行 Flowable 6.5.0 官方提供的 MySQL 数据库语句脚本的时候,

当执行到数据库中的某三个字段设置unique索引的时候,遇到了“Specified key was too long; max key length is 1000 bytes”这样的报错。
flw_event_definition 表创建索引失败,长度太长大于1000,MYSQL5.7

评论 (13)

jy_do 创建了任务

这个报错,需要 ruoyi-vue-pro 做什么么?

我更新了master最新提交,运行,flowable自动创建了相关表然后创建索引报错,经过排查是因为创建输入图片说明 FLW_EVENT_DEFINITION表没有指定表引擎用的myisam,如果用innodb就可以。你的FLW_EVENT_DEFINITION表引擎是否为myisam呢。

业务系统,引擎一般都是选择 innodb 啊

@芋道源码 对啊,innodb。但是liquibase创建的是myisam所以创建索引失败,如果是innodb,就可以。我是把数据库清空了,然后导入sql,然后flowable初始化创建表建立索引报错。

有点奇怪 = = 我刚去测试了下,暂时没碰到。

群里问问其他同学,是不是有类似的情况。

输入图片说明可以把这几个表删了,然后运行程序看看是不是可以复现,输入图片说明

1.6.1版本的bpm-flowable.sql是可以的,但是master最新提交flowable自动创建表有问题

最新版本到 1.6.2 了,可以升级下试试。
没问题提个 pr 呀。

我的解决就是直接导入1.6.1版本的bpm-flowable.sql创建表,而不是用flowable框架的自带升级liquibase---SQL升级,,

好的,我后面测试下高版本会不会能解决这个问题。

芋道源码 任务状态待办的 修改为进行中

因为初始化时liquibase自动建表语句中没有指定数据表引擎,默认是myisam的话就会出现这个错误。
MySQL的缺省引擎设置为innodb就可以避免这个问题,default-storage-engine=innodb

不错,已经补充到文档里了。

芋道源码 任务状态进行中 修改为已完成
芋道源码 负责人设置为芋道源码
芋道源码 添加了
 
question
标签

登录 后才可以发表评论

状态
负责人
里程碑
Pull Requests
关联的 Pull Requests 被合并后可能会关闭此 issue
分支
开始日期   -   截止日期
-
置顶选项
优先级
参与者(3)
176 zhijiantianya 1578913741 90230 donow 1578917040
Java
1
https://gitee.com/zhijiantianya/ruoyi-vue-pro.git
git@gitee.com:zhijiantianya/ruoyi-vue-pro.git
zhijiantianya
ruoyi-vue-pro
ruoyi-vue-pro

搜索帮助

14c37bed 8189591 565d56ea 8189591