gpt4 book ai didi

mysql 查询返回两个结果而不是一个

转载 作者:行者123 更新时间:2023-11-30 01:03:19 25 4
gpt4 key购买 nike

我注意到这一点是因为对于某些单词它返回了错误的词源。所以我注意到查询返回了很多结果而不是一个。该表大约有 60000 个条目。

这是我的 mysql 查询:

conMySQL.ConnectionString = "Provider=MSDASQL; DRIVER={MySQL ODBC 3.51 Driver};SERVER=" & MYSQLserverIP & ";Port=" & MYSQLserverPort & ";DATABASE=" & MYSQLserverDB & ";UID=" & MYSQLserverUser & ";PASSWORD=" & MYSQLserverPass & ";OPTION=3;Connect Timeout=1;"
conMySQL.Open
If conMySQL.State = 1 Then
recMySQL.Open "SELECT * FROM tEtymology WHERE sLemma='" & sLemma & "'", conMySQL, adOpenStatic, adLockReadOnly
If Not (recMySQL.EOF And recMySQL.BOF) Then
recMySQL.MoveFirst
strReturn = sLemma & "<br>" & recMySQL.Fields("id").Value & "#" & recMySQL.Fields("sLemma").Value & "#" & recMySQL.Fields("sEtymology").Value
recMySQL.MoveNext
strReturn = strReturn & "<br>" & recMySQL.Fields("id").Value & "#" & recMySQL.Fields("sLemma").Value & "#" & recMySQL.Fields("sEtymology").Value
End If
End If

例如,对于引理“μπότα”,结果是:

μπότα
34288#μπότα#[<μσν. μπότα < γαλλ. botte]
38505#οπότε#[<αρχ. ὁπόταν, με επίδραση του ὅτε]

许多单词都会发生这种情况,而不仅仅是您在这里看到的单词。我尝试删除 sLemma 字段中的索引(认为索引条目是哈希值,并且由于冲突而变得相同),但没有变化。我还尝试更改 sLemma 列的排序规则,但没有任何改变。

所以我从中了解到的是,对于 mysql μπότα=μπότα 和 μπότα=οπότε 这没有任何意义。 sLemma 列中只有一个条目“μπότα”。

有什么想法吗?

编辑:以下是 phpmyadmin 中条目的外观

enter image description here

您可能认为这是同一个条目(带有此处提到的 ID 的红色条目),但如果缩放图像,您会看到它们是不同的字母(第一个字母和最后一个字母)。

最佳答案

从评论和测试来看,几乎可以肯定是字符编码问题。不确定您当前使用的字符集,但您可以尝试类似“希腊语”(ISO 8859-7 Greek)的字符集 - 这里还有其他可能性: http://dev.mysql.com/doc/refman/5.1/en/charset-charsets.html

这里每个字符集的一些字符图表:http://collation-charts.org/mysql60/

如果更改数据库上的字符集不能解决问题,那么关于设置连接(不仅仅是实际服务器)使用的字符集,还有一些需要注意的事项。希望有帮助!

编辑

显然你可以使用命令

show variables like 'char%';

查看当前所有的字符集编码。我发现这个博客的主题不完全相同,但很有趣:https://www.bluebox.net/insight/blog-article/getting-out-of-mysql-character-set-hell

关于mysql 查询返回两个结果而不是一个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19906185/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com