我刚刚收到一个 SQL 插入脚本,但它在重复的键条目上失败:
我正在尝试插入:
1)蒙大拿
2)蒙大拿州
我的表都是utf8_spanish2_ci,
谁能解释为什么会这样?
我刚刚收到一个 SQL 插入脚本,但它在重复的键条目上失败:
我正在尝试插入:
1)蒙大拿
2)蒙大拿州
我的表都是utf8_spanish2_ci,
谁能解释为什么会这样?
你确定这个特定的列有排序规则utf8_spanish2_ci
吗?
根据此排序规则,Montana 和 Montaña 两个词不相等,您可以使用以下 SQL 进行验证:
mysql> select 'Montana' = 'Montaña' collate utf8_spanish2_ci as eq;
+----+
| eq |
+----+
| 0 |
+----+
排序规则是否有可能以某种方式更改为 utf8_general_ci?在这个排序规则中,n 和 ñ 是相等的。
这很可能是由于排序规则认为蒙大拿州和蒙大拿州是相同的。
(排序规则确定字符串比较的结果。)