0

utf8_unicode_ciとして照合された列があります。照合を想定しているクエリがすでにたくさん書かれているので、これを維持する必要があります。私の問題は、アクセントの異なるもの(つまり、apfelとäpfelを別々に)を挿入できるようにしたいということです。この列には一意のキーがあり、utf8_unicode_ciはapfelとäpfelが同じであると見なしているため、一意のキー制約でのみ照合を変更するか、utf8_binへの挿入でのみ照合を変更できる簡単な方法があります。列の照合を変更せずにアクセントのみが異なるテーブル?

4

1 に答える 1

1

「簡単な」解決策はありません。列の照合により、値の同等性と順序が定義されます。一意の制約を破らずに、列にapfelとäphelの両方を含めることはできません。

実行できることの1つは、utf8_binと照合された新しい列を追加し、最初の列から一意のキーを削除して、この新しい列のキーを作成することです。次に、元の列に挿入または更新された値を新しい列にコピーするトリガーを追加します。

于 2012-06-14T07:49:46.717 に答える