zoukankan      html  css  js  c++  java
  • mysql linux 区分大小写

    查看大小写区分
    mysql> show variables like "%case%";
    +------------------------+-------+
    | Variable_name          | Value |
    +------------------------+-------+
    | lower_case_file_system | OFF   | 
    | lower_case_table_names | 0     | 
    +------------------------+-------+
    2 rows in set (0.00 sec)




    今天郁闷死了,在LINUX下调一个程序老说找不到表,但是我明明是建了表的,在MYSQL的命令行下也可以查到,为什么程序就找不到表呢?
      后来请教了一个老师才搞定,原来是LINUX下的MYSQL默认是要区分表名大小写的,哎,弄了那么旧,害死我了。
      让MYSQL不区分表名大小写的方法其实很简单:
      1.用ROOT登录,修改/etc/my.cnf
      2.在[mysqld]下加入一行:lower_case_table_names=1
      3.重新启动数据库即可


    今天测试的时候,遇到一些问题,明明看到数据,就是查不出来;后来发现,在linux下,mysql的表名区分大小写,而在windows下是不区分,从windows下导出的数据脚本中使用的是小写,
    而Hibernate生成的sql中表名是大写的,所以查不出数据。
    google了一些资料,修改mysql的一个参数就可以了,如下:
    在ubuntu下,/etc/mysql/my.cnf文件中
    [mysqld]的后面加
    lower_case_table_names=1 
    0,区分大小写; 1,不区分
    好像还有说在/etc/my.cnf,在ubuntu下,这个不能使用。
    然后重启mysql
    sudo /etc/init.d/mysql restart
    注:(下面内容摘自网上)
    MYSQL在LINUX下数据库名、表名、列名、别名大小写规则如下: 
    1.数据库名与表名是严格区分大小写的 
    2.表的别名是严格区分大小写的 
    3.列名与列的别名在所有的情况下均是忽略大小写的 
    4.变量名也是严格区分大小写的 
  • 相关阅读:
    SpringMVC框架(2)
    SpringMVC框架(1)
    (数据结构与算法)跳表实现
    第2次作业
    第1次作业
    第一次作业
    第一周作业.
    第一周作业
    第0次作业
    第一次作业
  • 原文地址:https://www.cnblogs.com/signheart/p/6595359.html
Copyright © 2011-2022 走看看