phpからmysqlにクエリを発行しています。

テーブルに1000個のvarchar型のフィールドを作成しようと思ったのですがうまくいきませんでした。
どうすれば解決できるでしょうか?
1000個のフィールドを作成したときのエラーです。
#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にはレコード長が64KB以内という制限があります(ただし、BLOBやTEXTは制限外)。
各カラムの項目長が分かりませんが、これにひっかかっている可能性はあります。」
といわれ,そのだと思いました。


この場合の改善策はテーブルを2つにするしかないのでしょうか?

改善策を教えてください。(改善できない場合は、「改善できない」と言っていただけるとありがたいです。)


ちなみにデータベースの正規化は必要ありません。


よろしくお願いします。

回答の条件
  • 1人5回まで
  • 13歳以上
  • 登録:2012/08/22 12:15:25
  • 終了:2012/08/29 12:20:02
id:tsukasa343

訂正いたします。

ほかの人力検索サイトで
「MySQLにはレコード長が64KB以内という制限があります(ただし、BLOBやTEXTは制限外)。
各カラムの項目長が分かりませんが、これにひっかかっている可能性はあります。」
といわれ,そのだと思いました。


といわれ,その通りだと思いました。

回答(0件)

回答はまだありません

  • id:tdoi
    You have to change some columns to TEXT or BLOBs

    ってことじゃダメなのですか?
    VARCHARにこだわっているのは何か理由があるのですか?
  • id:tsukasa343
    tsukasa343 2012/08/22 16:25:06
    varcharにこだわる理由はありませんでした。
    ご指摘のとおりtext型で作ってみても結果は同じでした。
    回答位いただきありがとうございます。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません