【发布时间】:2013-09-15 06:40:13
【问题描述】:
我有一个 mysql 数据库,我在其中使用 utf8_general_ci(不区分大小写),并且在我的表中我有一些列,如 ID 和区分大小写的数据(例如:'iSZ6fX' 或 'AscSc2')
为了区分大写和小写,最好只在这些列上设置 utf8_bin,如下所示:
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
或者在所有列上使用utf8_general_ci,并在php查询中使用'BINARY',例如:
mysqli_query( $link, "SELECT * FROM table WHERE BINARY id = 'iSZ6fX'" );
【问题讨论】:
-
是 data 区分大小写,还是单个 query 区分大小写?例如,除了那个之外,您通常会执行不区分大小写的查询吗?这应该会告诉你答案!
标签: php mysql binary collation