2011-02-03 2 views

答えて

0

非ユニコード文字データの場合は、最大でvarchar(8000)を使用する必要があります。 varcharの数値はバイトを表します。 200kbの制限を超えない最大8000を指定できます。ストレージサイズは、入力されたデータの実際の長さ+ 2バイトです。

EDIT - 修正 - 後

のMySQL 5.0.3でVARCHARの実効最大長と最大行サイズの対象となる(65,535バイト、すべての列間で共有されている)及び - 以下のコメント使用されている文字セット "になりますので、それ以外の行に応じてより小さくなる可能性があります

+0

2048は200kbに​​収まりません... – bdonlan

+0

@bdonlan - はい、あなたは正しいです。私の答えを編集してvarcharから2048を削除しました。 –

+0

8000文字は200 KBのデータにも適合しません:) – bdonlan

1

64kbを超えるデータを保存する場合は、TEXT or BLOB column typesを使用する必要があります。mysqlには64kb limit for VARCHAR types

1行あたり64kb未満しか保存されない列の場合は、次のことができます。 VARCHARを使用しますが、かっこ内の数字は、列が取ることができる最大文字数でなければなりません。ただし、テーブルのスキャンでパフォーマンスが低下することを避けるために、innodbを使用している場合は、大きいテキストがTEXTまたはBLOBカラムの方が良い場合もあります(innodb will store the contents of the TEXT/BLOB type away from the other columns)。

関連する問題