当前位置: 主页 > 日志 > 其它 >

linux mysql表名默认区分大小写

 今天帮朋友把一dede系统从Windows迁移到Linux平台上,其它都正常,就是搜索页面出现“dede_SEARCH_KEYWORDS”表找不到的错误。

phpmyadmin登录后查看,数据库里有名为“dede_search_keywords”(小写的)的表,看来linux mysql表名是区分大小写的。

尝试将“dede_search_keywords”改为“dede_SEARCH_KEYWORDS”,杯具的是程序又提示“dede_search_keywords”不存在,唉,这肯定是几个人协同开发的,怎么不保持一直呢。

看来只有将mysql改为对大小写不敏感了。 网上查了一下,方法如下:

在/etc/my.cnf 中的[mysqld]后添加添加lower_case_table_names=1,重启MYSQL服务。

 

MySQL在Linux下数据库名、表名、列名、别名大小写规则是这样的:

1、数据库名与表名是严格区分大小写的;

2、表的别名是严格区分大小写的;

3、列名与列的别名在所有的情况下均是忽略大小写的;

4、变量名也是严格区分大小写的;

MySQL在Windows下都不区分大小写。

如果想在查询时区分字段的大小写,则:字段值需要设置BINARY属性:

CREATE TABLE T(

A VARCHAR(10) BINARY

);

或使用alter修改:

ALTER TABLE `tablename` MODIFY COLUMN `cloname` VARCHAR(45) BINARY;

[日志信息]

该日志于 2011-04-26 12:49 由 redice 发表在 redice's Blog ,你除了可以发表评论外,还可以转载 “linux mysql表名默认区分大小写” 日志到你的网站或博客,但是请保留源地址及作者信息,谢谢!!    (尊重他人劳动,你我共同努力)
   
验证(必填):   点击我更换验证码

redice's Blog  is powered by DedeCms |  Theme by Monkeii.Lee |  网站地图 |  本服务器由西安鲲之鹏网络信息技术有限公司友情提供

返回顶部