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

mySQL:インデックステーブルのutf8文字セットと重複キーエラー

    照合utf8_unicode_ciを使用する必要があります このバグの説明によると、ドイツ語の文字を使用する場合: Bug#39816ドイツ語の照合utf8_unicode_ciの下が正しくありません

    そのバグのタイトルにもかかわらず、私はこれを5.6.15でテストしたところ、テストケースは機能しますが、デフォルトのユニコード照合は機能しません:

    CREATE TABLE `test` (
      `id` varchar(5) NOT NULL,
      PRIMARY KEY (`id`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8 DEFAULT COLLATE=utf8_unicode_ci;
    
    INSERT INTO `test` (`id`) VALUES ('das'), ('daß');
    

    PS:開発環境では、本番環境と同じバージョンのすべてのソフトウェアを使用するか、少なくとも同じメジャーバージョンを共有することをお勧めします。 5.5で開発してから、5.0にデプロイしようとすると、他の非互換性に遭遇することになります。



    1. Oracle DB Server + APEX + ORDS + JasperReportsをゼロから(パート4)

    2. SQL Server Management Studio(SSMS)でカスタムショートカットを作成する方法-SQL Server/TSQLチュートリアルパート10

    3. データなしのMySqlエクスポートスキーマ

    4. MySQL WHERE IN()