ホームページ >データベース >mysql チュートリアル >MySQL の varchar(max) に相当するものは何ですか?
MySQL の varchar(max) に相当するものを調べる
MySQL は、varchar(max) に相当するものを明示的に提供していません。 他のデータベース システムで使用されるデータ型。ただし、MySQL の制限内で同様の機能を実現する方法があります。
VARCHAR サイズ制限
デフォルトでは、VARCHAR フィールドは 255 文字です。この制限を拡張するには、VARCHAR(length) 構文を使用できます。ただし、この長さは、MySQL の最大行サイズである 64KB (BLOB を除く) の影響を受けます。
例:VARCHAR(65535)これにより、
VARCHAR フィールドの最大長は 65535 文字です。
文字セット考慮事項UTF8 などのマルチバイト文字セットでは、
VARCHARフィールドの有効長が短くなります。 UTF8 では、各文字が複数バイトのストレージを占有する可能性があります。これは、UTF8 を使用した VARCHAR フィールドの実際の最大長が小さくなることを意味します。
VARCHAR(21844) CHARACTER SET utf8VARCHAR 長さ制限の例
最大行サイズの計算には、
VARCHAR長さエンコーディングのストレージ オーバーヘッドを含める必要があるため、宣言できる最大長は、最大行サイズよりわずかに小さくなります。
ただし、長さをわずかに減らすことでテーブルを作成できます。CREATE TABLE foo ( v VARCHAR(65534) ); ERROR 1118 (42000): Row size too large...マルチbyte 文字セットでは、各文字に必要なストレージ スペースが大きくなるため、最大長がさらに減少します。
CREATE TABLE foo ( v VARCHAR(65532) ); Query OK, 0 rows affected...結論として、MySQL には
CREATE TABLE foo ( v VARCHAR(65532) ) CHARSET=utf8; ERROR 1074 (42000): Column length too big for...varchar(max)
とまったく同じである VARCHAR(length) データ型は、使用される最大行サイズと文字セットの制限内で大きなテキスト値を収容する手段を提供します。
以上がMySQL の varchar(max) に相当するものは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。