首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >MySQL错误:最大列大小为767字节

MySQL错误:最大列大小为767字节
EN

Stack Overflow用户
提问于 2015-06-11 00:15:55
回答 15查看 77.4K关注 0票数 20

当我运行一个用MySQL做某些事情的程序时,我得到了这个错误消息:

2015-06-10 15:41:12,250 ERROR app.wsutils 419 INCRON: Error:('HY000','HY000ODBC 5.2(w) DriverIndex列大小太大。最大列大小为767字节。(1709) (SQLExecDirectW)')

我用谷歌搜索了一下,发现这个错误可能与innodb_large_prefix选项有关。然而,我使用的是MySQL 5.7.7RC,它已经将innodb_large_prefix设置为"ON“(在MySQL工作台中选中),允许最多3072字节。我不确定这是否是innodb_large_prefix的问题所在。

不管怎样,有没有人知道如何解决这个问题?

EN

回答 15

Stack Overflow用户

发布于 2016-02-04 22:19:34

在BK435给出的答案的帮助下,我做了以下工作并解决了问题。

代码语言:javascript
复制
set global innodb_file_format = BARRACUDA;
set global innodb_large_prefix = ON;
create table test (........) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC;
票数 29
EN

Stack Overflow用户

发布于 2015-06-11 05:27:07

您尝试为其编制索引的列太大,并且您的设置对于innodb_large_prefix而言一定不正确。为了让innodb_large_prefix正常工作,还必须设置一些prerequisites参数。

您可以通过运行以下命令进行检查,以确保设置了innodb_large_prefix

show global variables like 'innodb_lar%';

以下是使用innodb_large_prefix的几个先决条件:

您需要设置全局变量innodb_file_format=BARRACUDA

要检查设置,请运行:show global variables like 'innodb_fil%';

在表级,您必须使用ROW_FORMAT=DYNAMIC或ROW_FORMAT=COMPRESSED

对于Innodb,默认情况下以紧凑格式(ROW_FORMAT=COMPACT)存储行。

票数 21
EN

Stack Overflow用户

发布于 2021-12-12 06:41:40

从Wamp版本3.2.6开始

只需编辑此文件:C:\wamp64\bin\mysql\mysql8.0.27\my.ini更改innodb-default-row-format值的配置

来自innodb-default-row-format=compact

转到innodb-default-row-format=dynamic

重启mysql

票数 10
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30761867

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档