3

ここでこのスタックの質問を使用して、照合とバイナリを利用しようとしましたが、まだ次のエラーが発生しています。

操作「=」の照合 (utf8_general_ci,IMPLICIT) と (utf8_unicode_ci,IMPLICIT) の不正な組み合わせ

これが私のMySQLクエリです。クエリ内でこれを解決する方法はありますか? データベースまたはテーブルを変更するためのアクセス権はありません。SELECT でクエリを実行するためだけです。

SELECT SQL_CALC_FOUND_ROWS
    Land.ListingAgentID,
    Land.StreetNumber,
    Land.PostalCode,
    Agent.FirstName,
    Agent.LastName,
    Agent.Email
FROM
    Land
        INNER JOIN
    Agent ON (Land.ListingAgentID = Agent.AgentID)
WHERE
    ListingID = `$MLNumber`;
4

2 に答える 2

7

その場でキャストできますが、これは遅いです。長い目で見ると、結合には整数を使用する必要があります。

INNER JOIN
Agent ON (Land.ListingAgentID = Agent.AgentID COLLATE utf8_general_ci )

ここでの素晴らしい答えと説明: mysql の「不正な照合順序の組み合わせ」エラーのトラブルシューティング

于 2013-04-25T21:48:38.917 に答える
1

バッククォートを使用しないでください `

引用符を使用:

WHERE
    ListingID = '$MLNumber';
于 2013-04-25T21:41:26.060 に答える