无法在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
我不知道它的解决方案是什么。 请帮我一把。
答
问题是确切的,是什么MySQL告诉你:你有一个表的数据太多。 不仅字段数指望对他们,而且他们的大小..
但真正的问题是在你的数据库设计,你设计了正迫切需要一个表格:“拆了我,把我分开!
你应该normalize设计..
答
行大小太大。它就是这个意思。你真的需要这216个领域吗?你可以把它们剪下来吗?
如果您确实需要这些216个字段,请考虑将它们从1个映射到另一个1:1映射,将它们分成2-3个表。
答
最小化字段大小或改为创建文本/斑点。
向我们展示您正在尝试运行的create table命令。
答
错误信息非常清楚。加起来你所有的216个字段的大小,你应该看到它超过了最大值。正如@Peter所说,你真的需要重新考虑你的设计。我的表最多应该有几十个字段!
您可以将列更改为较小的类型吗? – Greg 2009-11-18 12:04:26
不,我不能将列更改为更小的类型。我该怎么办?还有其他选择吗? – Jimit 2009-11-18 12:06:03
在这种情况下,您需要按照答案中的建议分割它 – Greg 2009-11-18 12:07:57