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 回答