12下一页
返回列表 发帖
查看: 1825|回复: 13

[已解决] 建立数据表 pre_common_payment_order ... 失败

39

主题

734

回帖

889

积分

自成一派

贡献
9 点
金币
33 个
发表于 2022-8-29 13:53:13 | 显示全部楼层 |阅读模式
全新安装X3.5 220828每日构建版本提示:
建立数据表 pre_common_payment_order ... 失败
MySQL 里面创建表,MySQL返回
#1071 - Specified key was too long; max key length is 1000 bytes



1 贡献

最佳答案

install/data/install.sql
找到
  1. `type` varchar(255)  NOT NULL,
复制代码

改为
  1. `type` varchar(190)  NOT NULL,
复制代码
回复

使用道具 举报

18

主题

1804

回帖

2712

积分

应用开发者

贡献
49 点
金币
574 个
QQ
发表于 2022-8-29 15:17:12 | 显示全部楼层
问下 你安装的数据库是 gbk 还是 utf8格式的?
这个提示 是索引字段长度太长,超过了1000bytes
无限星辰工作室  好集导航 免费API
服务Discuz建站|定制|小程序|APP定制|故障维修|搬家|运维|挂马清理|防护|性能优化|安全运维|
服务理念:专业 诚信 友好QQ842062626 服务
回复 支持 反对

使用道具 举报

39

主题

734

回帖

889

积分

自成一派

贡献
9 点
金币
33 个
 楼主| 发表于 2022-8-30 10:37:40 | 显示全部楼层
crx349 发表于 2022-8-29 15:17
问下 你安装的数据库是 gbk 还是 utf8格式的?
这个提示 是索引字段长度太长,超过了1000bytes
...

utf8mb4 ci 按照X3.5的环境需求配置的
回复 支持 反对

使用道具 举报

17

主题

566

回帖

1814

积分

应用开发者

贡献
63 点
金币
902 个
QQ
发表于 2022-8-30 12:11:31 | 显示全部楼层
mysql什么版本
回复 支持 反对

使用道具 举报

18

主题

3705

回帖

6866

积分

应用开发者

贡献
324 点
金币
1397 个
QQ
发表于 2022-8-30 12:16:50 | 显示全部楼层
utf8mb4的数据表索引最大只支持250,而这个表里的其中type的索引为255,超出了最大值(当数据库为UTF8时则不影响)
回复 支持 反对

使用道具 举报

18

主题

3705

回帖

6866

积分

应用开发者

贡献
324 点
金币
1397 个
QQ
发表于 2022-8-30 12:22:44 | 显示全部楼层
如果您正在使用utf8mb4,并且varchar列上的唯一索引的长度超过191个字符,则需要打开innodb_large_prefix以允许索引中的更大列,因为utf8mb4需要比utf8或latin1更多的存储空间。将以下内容添加到my.cnf文件中。

  1. [mysqld]
  2. innodb_file_format=barracuda
  3. innodb_file_per_table=1
  4. innodb_large_prefix=1
  5. init_connect='SET collation_connection = utf8mb4_unicode_ci'
  6. init_connect='SET NAMES utf8mb4'
  7. character-set-server=utf8mb4
  8. collation-server=utf8mb4_unicode_ci
复制代码
回复 支持 反对

使用道具 举报

18

主题

1804

回帖

2712

积分

应用开发者

贡献
49 点
金币
574 个
QQ
发表于 2022-8-30 12:57:06 | 显示全部楼层
pcyi 发表于 2022-8-30 10:37
utf8mb4 ci 按照X3.5的环境需求配置的

my.cnf

  1. innodb_large_prefix=on
复制代码

作用:启用innodb_large_prefix选项,将约束项扩展至3072byte;

试试
无限星辰工作室  好集导航 免费API
服务Discuz建站|定制|小程序|APP定制|故障维修|搬家|运维|挂马清理|防护|性能优化|安全运维|
服务理念:专业 诚信 友好QQ842062626 服务
回复 支持 反对

使用道具 举报

39

主题

734

回帖

889

积分

自成一派

贡献
9 点
金币
33 个
 楼主| 发表于 2022-8-30 14:41:16 | 显示全部楼层
湖中沉 发表于 2022-8-30 12:22
如果您正在使用utf8mb4,并且varchar列上的唯一索引的长度超过191个字符,则需要打开innodb_large_prefix以 ...

Windows 下的MySQL把填写到 my.ini 文件后试了下,还是如此。
回复 支持 反对

使用道具 举报

39

主题

734

回帖

889

积分

自成一派

贡献
9 点
金币
33 个
 楼主| 发表于 2022-8-30 14:41:31 | 显示全部楼层
湖中沉 发表于 2022-8-30 12:22
如果您正在使用utf8mb4,并且varchar列上的唯一索引的长度超过191个字符,则需要打开innodb_large_prefix以 ...

Windows 下的MySQL把填写到 my.ini 文件后试了下,还是如此。
回复 支持 反对

使用道具 举报

39

主题

734

回帖

889

积分

自成一派

贡献
9 点
金币
33 个
 楼主| 发表于 2022-8-30 14:41:45 | 显示全部楼层

MySQL 5.7.39
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 关注公众号
  • 有偿服务微信
  • 有偿服务QQ

手机版|小黑屋|Discuz! 官方交流社区 ( 皖ICP备16010102号 |皖公网安备34010302002376号 )|网站地图|star

GMT+8, 2024-3-29 06:06 , Processed in 0.043962 second(s), 8 queries , Redis On.

Powered by Discuz! W1.0 Licensed

Cpoyright © 2001-2024 Discuz! Team.

关灯 快速发帖
有偿服务QQ
有偿服务微信
返回顶部
快速回复 返回顶部 返回列表