Database design 无法在mysql中创建表

Database design 无法在mysql中创建表,database-design,Database Design,我想创建一个有216个字段的表,但当我试图创建它时,我在mysql中发现了下面的错误 #1118 - Row size too large. The maximum row size for the used table type, not counting BLOBs, is 65535. You have to change some columns to TEXT or BLOBs #1118-行大小太大。所用表类型(不包括BLOB)的最大行大小为65535。您必须将某些列更改为文本或bl

我想创建一个有216个字段的表,但当我试图创建它时,我在mysql中发现了下面的错误

#1118 - Row size too large. The maximum row size for the used table type, not counting BLOBs, is 65535. You have to change some columns to TEXT or BLOBs #1118-行大小太大。所用表类型(不包括BLOB)的最大行大小为65535。您必须将某些列更改为文本或blob 我不知道它的解决方案是什么。
请帮帮我。

问题正是mysql告诉您的:一个表的数据太多了。 不仅字段的数量在向它们计数,而且它们的大小也在向它们计数

但是真正的问题是在数据库设计中,您设计了一个急需帮助的表:“拆分我,拆分我!”


您的设计应..

行大小过大。就是这个意思。你真的需要这216个字段吗?你能把它们剪下来吗


如果你真的需要这216个字段,考虑将它们分成2-3个表,从1:1映射到另一个。

而不是最小化字段大小或生成它们的文本/斑点。


显示您试图运行的create table命令。

错误消息非常清楚。把所有216个字段的大小加起来,你会发现它超过了最大值。正如@Peter所说,你真的需要重新思考你的设计。我的表最多应该有几十个字段

您能将列更改为较小的类型吗?不,我不能将列更改为较小的类型。我该怎么办?还有其他选项吗?在这种情况下,您需要按照回答中的建议将其拆分您发布的创建表sql….?根据“尽管InnoDB在内部支持大于65535的行大小,但您不能定义包含组合大小大于65535的VARBINARY或VARCHAR列的行:”所以听起来可能有解决方法。[尽管我同意其他人说您确实需要检查您的设计]