Mysql 为什么我的查询依赖于集合名称查询?

Mysql 为什么我的查询依赖于集合名称查询?,mysql,Mysql,我连接到mysql服务器并对其进行查询。 当我在主查询之前或之后执行集合名称查询时,该查询将返回结果,否则将返回null结果。 为什么会这样?听起来您的查询中有特殊字符,如果您没有设置将sql查询发送到服务器的正确字符集,则会导致问题。如果不运行“set names”a,则使用默认值,而这似乎是错误的 有关更多信息,请参阅MySQL手册中的引用: SET NAMES指示客户端将使用哪个字符集发送SQL 将语句发送到服务器 因此,您似乎正在用一个字符集编写查询,而在MySQL中,该字符集没有设置为

我连接到mysql服务器并对其进行查询。 当我在主查询之前或之后执行集合名称查询时,该查询将返回结果,否则将返回null结果。
为什么会这样?

听起来您的查询中有特殊字符,如果您没有设置将sql查询发送到服务器的正确字符集,则会导致问题。如果不运行“set names”a,则使用默认值,而这似乎是错误的


有关更多信息,请参阅MySQL手册中的引用:

SET NAMES指示客户端将使用哪个字符集发送SQL 将语句发送到服务器

因此,您似乎正在用一个字符集编写查询,而在MySQL中,该字符集没有设置为默认值。您可以尝试将服务器和客户端上的默认字符集排序规则更改为utf8,utf8应该可以接受几乎所有字符


更多信息请点击此处:

你说得对。join子句中有特殊字符。谢谢。