2009-06-15 10 views
11

は私が昨日まで細かい仕事をしていた特定のあなたの助けを必要と今日では、 の不正な組み合わせの照合エラーが発生しました。私は自分のデータベースのすべてのテーブルをチェックし、すべてのテーブルとそのカラムは1つの文字セットと照合順序にあります。 - utf8 utf8_unicode_ci。MySQLの不正なミックスは「=」

同じstructrueで別のスキーマを作成し、同じクエリを実行しようとしましたが、元のスキーマではうまく動作しませんでした。

誰でもこの情報を入力できますか?なぜそんなことが起こっているのですか?

+1

実際のクエリとエラーメッセージに役立つだろう。 – VolkerK

答えて

9

私は同じ問題を抱えていました。テーブルには同じ照合順序がありますが、列には一致しませんでした。 あなたはmysqlyog trialをダウンロードして、alter tableにhide language options ....のチェックを外すことができます。 最も見やすい方法です。

+0

私はこの問題を@Radmiloも持っていましたが、あなたの素早い答えでこれを解決できれば、とても感謝しています! – swdev

+0

正確に私の問題。列はです。ありがとう! – racl101

4

私の場合、それは愚かなmysqlのworkbenchのためでした - それは何らかの形でスキーマ(いくつかのメタデータや何に)からプロシージャのデフォルト照合に追加し、プロシージャ内の何かを別の照合順序に照合すると、

は、スキーマに正しい(手順で使用されている1)の照合を設定する必要があり、その後、(再保存または再作成する必要があります)の変更を手順を再編集し、適用するために、すべてが今

2

の各パラメータokですconcat関数を変換する必要があります。

CONCAT(CONVERT(field_A USING utf32), CONVERT(field_B USING utf32)) 

これはあなたの問題を抱えています。

0

私の問題は同じだったが、私の場合は十分には、SQL文を使用する前に、変換を使用していた - PHP

iconv(...) 
関連する問題