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

MySQL照合:latin1_swedish_ci対utf8_general_ci

    何をするにしても、mysqlでデフォルトのswedish_ci照合を(latinではなく)utf8で使用しようとしないでください。そうしないと、エラーが発生します。照合は、機能するために適切な文字セットとペアにする必要があります。文字セットと照合の不一致が原因で、このSQLは失敗します:

    CREATE  TABLE IF NOT EXISTS `db`.`events_user_preference` (
      `user_id` INT(10) UNSIGNED NOT NULL ,
      `email` VARCHAR(40) NULL DEFAULT NULL ,
      PRIMARY KEY (`user_id`) )
    ENGINE = InnoDB
    DEFAULT CHARACTER SET = utf8
    COLLATE = latin1_swedish_ci
    

    そして@Blaisorbladeは、これを修正する方法は、スウェーデンの照合に対応する文字セットを使用することであると指摘しました。

    DEFAULT CHARACTER SET = utf8_swedish_ci
    

    Yii phpフレームワークのcal(calendar)モジュールのSQLには、上記の誤ったコードに似たものがありました。うまくいけば、彼らは今までにそれを修正しました。



    1. SSISがパッケージの保存に失敗し、VisualStudioを再起動します

    2. カーソルなしの選択クエリで結果の一括収集を使用する

    3. 関係の特定-多対多

    4. 問題:Mysqlが列挙型をIntに変換する