0

私のテーブルはすべて latin1_general_ci に設定されています。私はずっと innoDB を使用しています。(MySqlWorkbench) で新しい (空白の) ストアド プロシージャを作成して実行すると、次の奇妙なナンセンスが得られます。

影響を受ける行は 0、警告は 1: 1267 操作 '=' の照合 (latin1_swedish_ci,IMPLICIT) と (latin1_general_ci,IMPLICIT) の不正な組み合わせ

ストアド プロシージャが空です。それはまったく何もしていません。では、なぜこのばかげた照合メッセージが表示されるのでしょうか。

Ps。私は、この問題が何年にもわたって多くの人々を悩ませてきたことを知っています. そして、私は解決策のための不十分な回避策とクラックポットのアイデアをたくさん見つけました. しかし、少しでも理にかなっているような解決策はありません。

4

1 に答える 1

0

作成したいストアド プロシージャでアクセスされる各テーブル列を調べて、デフォルトのように照合順序を latin_general_ci に変更すると、問題が修正されます。警告はまだあります。当たり前!

于 2012-07-16T01:07:07.307 に答える