我们假设你要更新一个表格如下:
Name
| Address
| Age
您编写查询:
UPDATE Person SET Name='Tom' WHERE Name='Thomas'
。
此查询中的WHERE子句是否区分大小写?也就是说,它会更新名称为thomas
和THOMAS
的行吗?
(我正在使用MySQL Ver 14.14 Distrib 5.1.73,如果有帮助的话。)
答案 0 :(得分:4)
默认字符集和排序规则是latin1和 latin1_swedish_ci,所以非二进制字符串比较就是这种情况 默认情况下不敏感。
创建具有不同排序规则的表时,可以更改此默认行为:MySql CREATE TABLE Syntax。
您还可以在查询中更改排序规则(因此不区分大小写的默认行为):
WHERE col_name COLLATE latin1_general_cs LIKE 'a%'