wielkość liter w mysql w utf8_general_ci
Mam bazę danych mysql, w której używam utf8_general_ci (bez rozróżniania wielkości liter), aw moich tabelach mam kilka kolumn, takich jak ID z danymi rozróżnianymi wielkością liter (przykład: „iSZ6fX” lub „AscSc2”)
Aby odróżnić wielkie litery od małych, lepiej ustawić w tych kolumnach tylko utf8_bin, w ten sposób:
CREATE TABLE `test` (
`id` VARCHAR( 32 ) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL ,
`value1` VARCHAR( 255 ) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL
) ENGINE = MYISAM CHARACTER SET utf8 COLLATE utf8_general_ci
Lub użyj utf8_general_ci na wszystkich kolumnach i użyj 'BINARY' w zapytaniu php, na przykład:
mysqli_query( $link, "SELECT * FROM table WHERE BINARY id = 'iSZ6fX'" );