[解決済み] MySQLのVARCHARの長さとUTF-8
2023-03-02 05:47:39
質問
MySQL で、新しい
VARCHAR(32)
フィールドを作成した場合、そのフィールドに 32 バイトのデータまたは 32 文字 (マルチバイト) を格納できることを意味しますか?
どのように解決するのですか?
この回答は、googleの検索結果の上位に表示されましたが、正しくありませんでした。
は 混乱 は、おそらくテストされた MySQL の異なるバージョンに起因するものです。
- バージョン 4 はバイトをカウントします。
- バージョン 5 は文字数をカウントします。
以下は、MySQL 5 の公式サイトからの引用です。 ドキュメント :
MySQL はキャラクタ列の定義における長さの指定をキャラクタ単位で解釈します(MySQL 4.1 以前では、列の長さはバイト単位で解釈されました)。(これは、CHAR、VARCHAR、および TEXT タイプに適用されます。
興味深いことに(考えてもみなかったのですが)、varchar カラムの最大長は、次のように utf8 の影響を受けます。
MySQL 5.0.3 以降の VARCHAR の実効最大長は、最大行サイズ (65,535 バイト、これはすべての列で共有されます) と使用する文字セットによって左右されます。たとえば、utf8 文字は 1 文字あたり最大 3 バイトを必要とするため、utf8 文字セットを使用する VARCHAR カラムは、最大 21,844 文字と宣言することができます。
関連
-
MySQLデータベースでvarchar型の数値の大きさを比較する方法
-
[解決済み] MySQLでdatetimeとtimestampのどちらのデータ型を使用すべきですか?
-
[解決済み] varcharとnvarcharの違いは何ですか?
-
[解決済み] ずっとUTF-8
-
[解決済み] utf8_general_ciとutf8_unicode_ciの違いは何ですか?
-
[解決済み] MySQLで'insert if not exists'を行うにはどうしたらいいですか?
-
[解決済み] UTF-8とBOMなしUTF-8の違いは何ですか?
-
[解決済み] MySQLです。大きなVARCHARとTEXTの比較?
-
[解決済み] TINYTEXT、TEXT、MEDIUMTEXT、LONGTEXTの最大保存サイズ
-
[解決済み] MySQL型テキストの最大長
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
MySQLのデータバックアップにmysqldumpを使用する方法
-
SQL集計、グループ化、ソート
-
mysqlインデックスが長すぎる特殊なキーが長すぎる解決策
-
Mysqlのソート機能の詳細
-
[解決済み] datetimeの挿入時に文字列から日付や時刻を変換すると、変換に失敗する
-
[解決済み】DynamoDB : 提供されたキー要素がスキーマと一致しません。
-
[解決済み] ユニークなテーブル/エイリアスではない
-
[解決済み】文字列からuniqueidentifierに変換する際に変換に失敗する - 2つのGUIDの場合
-
[解決済み] SQLエラー。ORA-01861:リテラルは、フォーマット文字列01861に一致しません。
-
[解決済み] Ubuntu linux上で動作するリモートMySQLサーバーを再起動する方法は?