0

フロントエンドアプリケーションに非常に単純なテキストボックスがあり(言語は問題ではありませんがphpのように)、以下に定義されているデータベースのテーブルの説明列に挿入しています:

テーブル (ID[主キー]、説明[varchar(255)])

頻繁に発生するわけではありませんが、1 つのタプルに 255 文字を超える文字を挿入する必要がある場合があります。varchar の長さを増やすこともできますが、タプルのサイズには制限があるため、安全にプレイするために、推奨される最大値の 255 に保ちました。

これを行う方法を理解できる唯一の方法は、2 つのテーブルを用意し、テキストを 255 文字に分割することです。次のように定義されたテーブル:

Table1 (ID[主キー]..........)

Table2 (ID, table1ID[テーブル1への外部キー] 説明[varchar(255)])

これを達成するためのより良い方法はありますか?

編集: Mysql バージョン 5.5.11 テキスト データ型があることを知りませんでした。おそらく新しい。アプリケーション オブジェクトの一種のように聞こえますが、平均して 150 文字を格納し、10% の時間で 5000 文字近くを格納するのに十分な柔軟性がありますか?

4

1 に答える 1

2

MySQL バージョン 5.0.3 以降を使用している場合は、VARCHAR. マニュアルによると:

列の値VARCHARは可変長文字列です。長さは、MySQL 5.0.3 より前では 0 から 255、5.0.3 以降では 0 から 65,535 の値として指定できます。MySQL 5.0.3 以降での a の有効な最大長はVARCHAR、最大行サイズ (すべての列で共有される 65,535 バイト) と使用される文字セットの影響を受けます。セクションE.7.4「テーブルの列数と行サイズの制限」</a>を参照してください。

これを行うには、次のようにします。

ALTER TABLE tablename MODIFY description VARCHAR(...) [NOT] NULL;

TEXTまたは、次のタイプを使用できます。

ALTER TABLE tablename MODIFY description TEXT [NOT] NULL;
于 2012-04-26T06:07:44.397 に答える