【问题标题】:MySQL case-sensitive update statementMySQL 区分大小写的更新语句
【发布时间】:2014-10-16 20:51:02
【问题描述】:

假设您要更新一个如下所示的表格 Person:

Name | Address | Age

您编写查询:

UPDATE Person SET Name='Tom' WHERE Name='Thomas'.


此查询中的 WHERE 子句是否区分大小写?也就是说,它会更新名称为thomasTHOMAS 的行吗?

(如果有帮助,我正在使用 MySQL Ver 14.14 Distrib 5.1.73。)

【问题讨论】:

标签: mysql sql


【解决方案1】:

来自MySql Documentation

默认字符集和排序规则是 latin1 和 latin1_swedish_ci,所以非二进制字符串比较是大小写 默认不敏感。

可以在使用不同的排序规则创建表时更改此默认行为:MySql CREATE TABLE Syntax

您还可以更改查询中的排序规则(因此不区分大小写的默认行为):

WHERE col_name COLLATE latin1_general_cs LIKE 'a%'

【讨论】:

    猜你喜欢
    • 2014-09-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-07
    • 2012-11-01
    • 2023-03-17
    相关资源
    最近更新 更多