sql >> Databáze >  >> RDS >> Mysql

Porovnání MySQL:latin1_swedish_ci vs utf8_general_ci

Ať uděláte cokoli, nepokoušejte se použít výchozí řazení swedish_ci s utf8 (místo latinky) v mysql, jinak dostanete chybu. Aby kolace fungovaly, musí být spárovány se správnou znakovou sadou. Tento SQL selže kvůli neshodě ve znakové sadě a řazení:

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

A @Blaisorblade poukázal na to, že způsob, jak to napravit, je použít znakovou sadu, která se hodí ke švédskému řazení:

DEFAULT CHARACTER SET = utf8_swedish_ci

Modul SQL pro modul cal (kalendář) pro framework Yii php měl něco podobného jako výše uvedený chybný kód. Doufám, že to už opravili.



  1. jak uložit video do databáze pomocí mysql?

  2. Nejlepší způsob, jak uložit vztah many-to-many v MySQL?

  3. Rozdíl mezi LIKE a ~ v Postgresu

  4. MySQL:opětovné použití automatického zvýšení během vkládání