在MySQL中lower_case_table_names默认默认值为0,即lower_case_table_names=0,表示表名是严格区分大小写的。而当lower_case_table_names设置为1时,表示所有SQL语句都将被转化为小写后再执行。

默认在lower_case_table_names=0的情况下,表名是严格区分大小写的。

lower_case_table_names=0的执行情况

修改lower_case_table_names=1后,发现原表t2,在参数修改后,通过t2和T2都可以访问,满足需求。
但是原表T1,在参数修改后,通过t1和T1都无法访问,细看报错可以看到无论我们传入T1还是t1,都是按照小写的t1来解析。

lower_case_table_names=1的执行情况

如果此时应用再重新创建T1表,就会被存储为小写的t1:

修改lower_case_table_names=1后创建表