首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使MySQL大小写在百分比操作系统中不敏感?

如何使MySQL大小写在百分比操作系统中不敏感?
EN

Stack Overflow用户
提问于 2016-07-08 09:55:39
回答 2查看 1.1K关注 0票数 1

我使用的是分OS 6.5和MySQL 5.1.73,我知道数据库名和表名以及列名都是区分大小写的

现在,我想让MySQL在% OS中以不区分大小写的方式工作。

我已经尝试了下面的链接,它的工作表名。但是,我需要区分大小写的表列名称。

How to force case sensitive table names?

有可能吗?如果是的话,我该怎么做?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-07-08 10:00:59

这取决于您创建的表的类型。对于字符串(CHAR、VARCHAR、TEXT),字符串搜索使用比较操作数的排序规则。

http://dev.mysql.com/doc/refman/5.7/en/case-sensitivity.html

例如,如果表排序规则是utf8_general_ci,则_CI表示不区分大小写。

否则,排序规则utf8_general是区分大小写的

您可以通过更新轻松地更改表的排序规则。

大小写不敏感表(utf8_general_ci)的示例

代码语言:javascript
复制
CREATE TABLE  `test` (
`id` VARCHAR( 32 ) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL ,
`value1` VARCHAR( 255 ) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL
) ENGINE = MYISAM CHARACTER SET utf8 COLLATE utf8_general_ci

区分大小写的表(utf8_general)的示例

代码语言:javascript
复制
CREATE TABLE  `test` (
`id` VARCHAR( 32 ) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL ,
`value1` VARCHAR( 255 ) CHARACTER SET utf8 COLLATE utf8_general NOT NULL
) ENGINE = MYISAM CHARACTER SET utf8 COLLATE utf8_general

另外,如果需要,可以更改默认的排序规则,如下面所解释的那样,https://dev.mysql.com/doc/refman/5.7/en/charset-syntax.html

字符集和排序规则有四个级别的默认设置:服务器、数据库、表和列。

票数 1
EN

Stack Overflow用户

发布于 2016-07-13 09:20:15

编辑mysql配置文件(my.cnf),在mysqld下添加lower_case_table_names = 1。并重新启动mysql服务,它将修复您的问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38263759

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档