2009-11-18 95 views
0

我想創建具有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

回答

6

問題是確切的,是什麼MySQL告訴你:你有一個表的數據太多。 不僅字段數指望對他們,而且他們的大小..

真正的問題是在你的數據庫設計,你設計了正迫切需要一個表格:「拆了我,把我分開!

你應該normalize設計..

1

行大小太大。它就是這個意思。你真的需要這216個領域嗎?你可以把它們剪下來嗎?

如果您確實需要這些216個字段,請考慮將它們從1個映射到另一個1:1映射,將它們分成2-3個表。

0

最小化字段大小或改爲創建文本/斑點。

向我們展示您正在嘗試運行的create table命令。

1

錯誤信息非常清楚。加起來你所有的216個字段的大小,你應該看到它超過了最大值。正如@Peter所說,你真的需要重新考慮你的設計。我的表最多應該有幾十個字段!