在mysql中选择不同的上下

在mysql中选择不同的上下,mysql,sql,database,Mysql,Sql,Database,我想在数据库中搜索一个名称。但我只想选择比尔,而不是比尔或比尔或。。。只是“比尔”。但是当我使用这个查询时,它显示Bill,Bill,Bill和 query=`select * from names where name='Bill'` 引述: 默认字符集和排序规则是latin1和latin1_swedish_ci,因此默认情况下非二进制字符串比较不区分大小写。这意味着,如果使用col_name(如“a%”)进行搜索,则会得到以a或a开头的所有列值。要使此搜索区分大小写,请确保其中一个操作数具

我想在数据库中搜索一个名称。但我只想选择比尔,而不是比尔或比尔或。。。只是“比尔”。但是当我使用这个查询时,它显示Bill,Bill,Bill和

query=`select * from names where name='Bill'`
引述:

默认字符集和排序规则是latin1和latin1_swedish_ci,因此默认情况下非二进制字符串比较不区分大小写。这意味着,如果使用col_name(如“a%”)进行搜索,则会得到以a或a开头的所有列值。要使此搜索区分大小写,请确保其中一个操作数具有区分大小写或二进制排序规则。例如,如果要比较同时具有拉丁字符集的列和字符串,可以使用COLLATE运算符使任一操作数具有拉丁字符集或拉丁字符集

您可以通过显式使用区分大小写的排序规则来克服这一问题:

select * from names where name='Bill' COLLATE latin1_general_cs

还有另一种解决方案可以将列集合设置为utf8mb4\u unicode\u 520或任何区分大小写的标准集合。

感谢您的回答和链接。我不知道如何解决这个问题。谢谢你的回答。但我想使用的登录页面查询,当我添加整理这将不会工作!我需要别的主意。