无法在mysql中创建表

时间:2009-11-18 12:00:28

标签: 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 

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

4 个答案:

答案 0 :(得分:6)

问题正是mysql告诉你的:你有一个表的数据太多了。 不仅字段的数量正在计入它们,还有它们的大小......

但是真正的问题在你的数据库设计中,你设计了一个急需帮助的表:'分裂我,分裂我!'

你应该normalize你的设计..

答案 1 :(得分:1)

行大小太大。这意味着就是这样。你真的需要这216个领域吗?你能减少它们吗?

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

答案 2 :(得分:1)

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

答案 3 :(得分:0)

最小化字段大小或改为使用它们的文本/ blob。

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