SQL挿入スクリプトを受け取ったばかりですが、キーエントリが重複していると失敗します。
私は挿入しようとしています:
1)モンタナ
2)モンタナ
私のテーブルはすべてutf8_spanish2_ciです。
なぜこれが起こっているのか誰かが説明できますか?
SQL挿入スクリプトを受け取ったばかりですが、キーエントリが重複していると失敗します。
私は挿入しようとしています:
1)モンタナ
2)モンタナ
私のテーブルはすべてutf8_spanish2_ciです。
なぜこれが起こっているのか誰かが説明できますか?
utf8_spanish2_ci
照合では、大文字と小文字が区別されないだけでなく、部分的にアクセントも区別されないため、(ジョニサロネンが指摘しているように、これは正しくありません!)しかしñ
= n
。á
= a
。
私の知る限り、この「機能」に付属していないutf8_bin
照合はありません。
あなたができること:
これは、モンタナとモンタナが同一であると見なしている照合が原因である可能性が最も高いです。
(照合により、文字列の比較の結果が決まります。)
この特定の列に照合があることを確認しますutf8_spanish2_ci
か?
このSQLで確認できるように、この照合によれば、MontanaとMontañaという単語は等しくありません。
mysql> select 'Montana' = 'Montaña' collate utf8_spanish2_ci as eq;
+----+
| eq |
+----+
| 0 |
+----+
どういうわけか照合がutf8_general_ciに変更される可能性はありますか?この照合では、nとñは等しくなります。