sql >> データベース >  >> RDS >> Mysql

MySQLVARCHARの長さとUTF-8

    この答えは私のグーグル検索結果の上部に表示されましたが、正しくありませんでした:

    混乱はおそらく、テストされているmysqlの異なるバージョンが原因です。

    • バージョン4はバイトをカウントします
    • バージョン5は文字をカウントします

    http://dev.mysql.com/doc /refman/5.0/en/string-type-overview.html

    MySQLは、文字列定義の長さの指定を文字単位で解釈します。 (MySQL 4.1より前では、列の長さはバイト単位で解釈されていました。)これは、CHAR、VARCHAR、およびTEXTタイプに適用されます。

    興味深いことに(私はそれについて考えていませんでした)、varchar列の最大長は次のようにutf8の影響を受けます:

    MySQL 5.0.3以降のVARCHARの有効な最大長は、最大行サイズ(65,535バイト、すべての列で共有される)と使用される文字セットの影響を受けます。たとえば、utf8文字は1文字あたり最大3バイトを必要とする可能性があるため、utf8文字セットを使用するVARCHAR列は最大21,844文字であると宣言できます。



    1. 列を削除しても列参照が完全に削除されるわけではありません-postgresql

    2. クラウド内のPostgreSQLクラスターのほぼゼロのダウンタイム自動アップグレード(パートI)

    3. 日常的なコンテンツバックアップの推奨事項

    4. 画像をデータベースBLOBに保存します。 dbからPictureboxに取得