Sha*_*ing 9 mysql sql unicode collation unicode-normalization
原谅我的新手问题,但为什么要找'?' 或者Mysql中的'2'返回相同的记录?
例如:
假设我有一个名为'slug'的字符串字段的记录,值为'?'.以下SQL返回相同的记录.
SELECT * From articles WHERE slug='2'  
SELECT * From articles WHERE slug='?' 
Ign*_*ams 13
它与数据库的整理有关:
mysql> SHOW VARIABLES LIKE 'collation_%';
+----------------------+-------------------+
| Variable_name        | Value             |
+----------------------+-------------------+
| collation_connection | latin1_swedish_ci |
| collation_database   | latin1_swedish_ci |
| collation_server     | latin1_swedish_ci |
+----------------------+-------------------+
3 rows in set (0.00 sec)
mysql> SELECT '?'='2';
+-----------+
| '?'='2' |
+-----------+
|         0 |
+-----------+
1 row in set (0.00 sec)
mysql> SET NAMES 'utf8' COLLATE 'utf8_unicode_ci';
Query OK, 0 rows affected (0.00 sec)
mysql> SELECT '?'='2';
+-----------+
| '?'='2' |
+-----------+
|         1 |
+-----------+
1 row in set (0.00 sec)
| 归档时间: | 
 | 
| 查看次数: | 193 次 | 
| 最近记录: |