zoukankan      html  css  js  c++  java
  • MySQL库中表名忽略大小写设置的影响

    前不久,对mysql的lower_case_table_names参数有点小小的疑问:

    1.lower_case_table_names是表名忽略大小写还是所有对象(字段、索引等)都忽略大小写?

    2.区分大小写环境里的表(含大写、小写)迁移到不区分大小写环境里面会怎么样?

    3.不区分大小写环境里的表(含用大写、小写表名语句建的表)迁移到区分大小写环境里面又会怎样

    4.lower_case_table _names设置为什么值较好?

    于是做了针对这些问题做了个小小的实验,先附实验结论。

    实验结论:

    1、lower_case_table_names只作用表名,不作用字段名(字段名大小写均可查出结果);

    2、在不区分大小写环境,大写建表语句均会转化为小写表名;使用大写表名可以定位到表(表名大小写无区别,均会转化为小写),在不区分大小写环境表迁移到区分大小写环境,表名均为小写;

    3、在区分大小写环境,大写表名建表语句所建表名为大写,使用小写表名建表语句所建表名为小写,在区分大小写环境中的大写表迁移到不区分大小写环境,之前所建大写表名表报不存在错误!

    4、综和2、3实验结论,建议将该参数值设置为1,即:表名不区分大小写

     

    附:

    今天就碰到修改一个测试环境的lower-case-table-name=1;导致大写表名查询不了。

    解决方式:重建表

  • 相关阅读:
    Tempter of the Bone
    CODE[VS]1160 蛇形矩阵
    CODE[VS] 1205 单词翻转
    CODE[VS] 1204 寻找子串位置
    a little sweet~
    我多喜欢你,你会知道
    P1474 货币系统 Money Systems
    P1096 Hanoi双塔问题
    P1209 [USACO1.3]修理牛棚 Barn Repair
    下一秒
  • 原文地址:https://www.cnblogs.com/janehoo/p/5582950.html
Copyright © 2011-2022 走看看