zoukankan      html  css  js  c++  java
  • 【MySql】linux下,设置mysql表名忽略大小写

    【障碍再现】

    状况描述01:
        在LINUX下调一个程序经常报出找不到表,但是我明明是建了表的,
        测试的时候,遇到一些问题,从Windows平台访问虚拟机中的Web应用,经常报出找不到表,但自己明明在数据库中看到相关的数据表和数据,在linux中通过MYSQL的命令行下也可以查到,为什么从Windows平台上的程序来访问虚拟机中的MySql时,就找不到呢?
     

    【原因分析】

        原来是LINUX下的MYSQL默认是要区分表名大小写的,而在windows下是不区分。
        从windows下导出的数据脚本中数据表的名字使用的是小写,而Hibernate生成的sql中表名是大写的,所以查不出数据。
     

    【解决方案】

    让MYSQL不区分表名大小写的方法其实很简单:
    1.用ROOT登录,修改/etc/my.cnf
    2.在[mysqld]下加入一行:lower_case_table_names=1
        备注:0,区分大小写; 1,不区分
    3.重新启动数据库即可
    sudo /etc/init.d/mysql restart
     

    【拓展】

    注:(下面内容摘自网上)
    MYSQL在LINUX下数据库名、表名、列名、别名大小写规则如下:
    1.数据库名与表名是严格区分大小写的
    2.表的别名是严格区分大小写的
    3.列名与列的别名在所有的情况下均是忽略大小写的
    4.变量名也是严格区分大小写的 
  • 相关阅读:
    BZOJ-1016 最小生成树计数
    BZOJ-1003 物流运输
    BZOJ-1009 GT考试
    【NOIP2014】伤感·伤感·伤感
    BZOJ-1033 杀蚂蚁
    NOIP一系列模拟赛小结
    2014·NOIP 新的历程,新的开始
    35. Search Insert Position
    29. Divide Two Integers
    28. Implement strStr()
  • 原文地址:https://www.cnblogs.com/taiyanhong/p/8005287.html
Copyright © 2011-2022 走看看