我有一个包含650列和1行的MySQL表。 我知道这是一个糟糕的设计(我继承了)并且它将被移动到一个简单的两列布局,但此刻我正在尝试诊断一个不同的问题,以便能够理解它。 我不想解决设计问题,如果它会掩盖我目前面临的系统配置问题。
背景:我有一个系统,它在构建Web应用程序实例时采取以下步骤:
问题是,在我的localhost服务器(WAMP)上运行步骤3中的一个脚本时,我在尝试向该表添加更多列时遇到错误:
Row size too large. The maximum row size for the used table type, not counting BLOBs, is 8126.
同样,我知道这个表在理论上太“宽”了,但我不知道我可以运行什么查询来计算它的宽度。此外,当我运行它时,我没有在我的RDS服务器上收到此错误,因为我不知道如何获取表的“宽度”,我不知道如何比较(尽管给定localhost的VARCHAR已填充对于FEWER字符,无论如何,我希望它更小。
我在StackOverflow上阅读的所有内容都表示所有表都具有相同的“宽度”限制,无论引擎如何。我怀疑这是一个配置问题,但如果这是一个硬限制,为什么它在我的RDS服务器上运行而不是localhost?
答案 0 :(得分:0)
我唯一的想法是字符代码差异?你看过那个吗? (抱歉无法评论太新的用户)。