我刚刚收到一个 SQL 插入脚本,但它在重复键输入时失败了:
我正在尝试插入:
1)蒙大拿
2)蒙大拿
我的表都是utf8_spanish2_ci,
谁能解释为什么会这样?
最佳答案
utf8_spanish2_ci
collation确实不仅不区分大小写,而且部分不区分重音,所以 (正如 Joni Salonen 指出的那样,这是不正确的! ) 但 ñ
= n
.á
= a
。
据我所知,除了 utf8_bin
之外,没有不具有此“功能”的排序规则。
你可以做什么:
- 对表使用二进制排序规则(尽管 other problems 附带)
- 对特定列 使用二进制排序规则(可能是您最好的选择)
- 使用不同的列作为键列 - 您确定该列首先需要是唯一键吗?如果这是主键,数字自动递增不是更适合吗?
关于mysql utf8 latin,重复键输入失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11702432/