无法在mysql中创建表

问题描述:

我想创建具有216个字段的表,但是当我尝试创建它时,我在mysql中出现了以下错误。无法在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 

我不知道它的解决方案是什么。 请帮我一把。

+0

您可以将列更改为较小的类型吗? – Greg 2009-11-18 12:04:26

+0

不,我不能将列更改为更小的类型。我该怎么办?还有其他选择吗? – Jimit 2009-11-18 12:06:03

+0

在这种情况下,您需要按照答案中的建议分割它 – Greg 2009-11-18 12:07:57

问题是确切的,是什么MySQL告诉你:你有一个表的数据太多。 不仅字段数指望对他们,而且他们的大小..

真正的问题是在你的数据库设计,你设计了正迫切需要一个表格:“拆了我,把我分开!

你应该normalize设计..

行大小太大。它就是这个意思。你真的需要这216个领域吗?你可以把它们剪下来吗?

如果您确实需要这些216个字段,请考虑将它们从1个映射到另一个1:1映射,将它们分成2-3个表。

最小化字段大小或改为创建文本/斑点。

向我们展示您正在尝试运行的create table命令。

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