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

MySQL VARCHAR(255)UTF8はキーには長すぎますが、最大長は1000バイトです

    utf8mb4を使用していて、長さが191文字を超えるvarchar列に一意のインデックスがある場合、インデックスに大きな列を許可するには、innodb_large_prefixをオンにする必要があります。utf8mb4はutf8またはlatin1よりも多くのストレージスペースを必要とするためです。 。 my.cnfファイルに以下を追加します。

    [mysqld]
    innodb_file_format=barracuda
    innodb_file_per_table=1
    innodb_large_prefix=1
    init_connect='SET collation_connection = utf8mb4_unicode_ci; SET NAMES utf8mb4'
    character-set-server=utf8mb4
    collation-server=utf8mb4_unicode_ci
    

    MySQL5.7ドキュメント

    要約すると、制限は互換性のためだけにあり、将来のバージョンで増加する予定です。



    1. T-SQLを使用してSQLServerでデータベース名を変更する方法

    2. SQLエラーの読み取りと解釈の方法

    3. PHPとMySQLを使用してCSVファイルをインポートおよびエクスポートする方法

    4. mysqlで動的列を選択します