有人能告诉我,如果MySQL SELECT查询是大小写敏感或大小写不敏感默认?如果不是,我要发送什么查询,这样我就可以做一些事情:

SELECT * FROM `table` WHERE `Value` = "iaresavage"

实际上,价值的真正价值是IAreSavage。


当前回答

您选择的排序规则集是否区分大小写。

其他回答

带有二进制标志设置的字符串字段将始终区分大小写。 如果你需要对非二进制文本字段进行区分大小写的搜索,请使用以下方法: SELECT 'test' REGEXP二进制'test'作为结果;

还要注意,在Linux上表名是区分大小写的,除非您将lower_case_table_name config指令设置为1。这是因为在Linux中表是由区分大小写的文件表示的。

尤其要注意在不区分大小写的Windows上开发,并将其部署到生产环境中。例如:

"SELECT * from mytable" 

除非设置了上面提到的指令,否则myTable在Windows中会成功,但在Linux中会失败。

参考资料:http://dev.mysql.com/doc/refman/5.0/en/identifier-case-sensitivity.html

您选择的排序规则集是否区分大小写。

SQL Select不区分大小写。

这个链接可以告诉你如何区分大小写:http://web.archive.org/web/20080811231016/http://sqlserver2000.databases.aspfaq.com:80/how-can-i-make-my-sql-queries-case-sensitive.html

它们是不区分大小写的,除非你做二进制比较。