【发布时间】:2014-10-16 20:51:02
【问题描述】:
假设您要更新一个如下所示的表格 Person:
Name | Address | Age
您编写查询:
UPDATE Person SET Name='Tom' WHERE Name='Thomas'.
此查询中的 WHERE 子句是否区分大小写?也就是说,它会更新名称为thomas 和THOMAS 的行吗?
(如果有帮助,我正在使用 MySQL Ver 14.14 Distrib 5.1.73。)
【问题讨论】:
-
一般不区分大小写,除非您的表格使用区分大小写的排序规则
-
这取决于列和数据库的排序规则。文档是开始了解这些内容的好地方:dev.mysql.com/doc/refman/5.7/en/charset-charsets.html。
-
有办法解决这个问题吗?例如,使用 STRING 函数?
-
@ktm5124 您可以在创建表时绕过默认行为,并且可以在查询语句中选择其他行为(不使用 STRING 函数,而是使用特定语法)。看我的回答。