MySQL文档[1]解释了在所有平台上使用区分大小写的表名的可能性(通过在Unix上设置lower_case_table_names=0
和在Windows上设置lower_case_table_names=2
)......但有一个例外:
异常:如果您正在使用InnoDB表并且尝试避免这些数据传输问题,则应在所有平台上将lower_case_table_names设置为1以强制将名称转换为小写。
我的问题是:
[1] https://dev.mysql.com/doc/refman/5.7/en/identifier-case-sensitivity.html
答案 0 :(得分:1)
CREATE TABLE abc (...); -- creates file `abc.frm`
CREATE TABLE ABC (...); -- creates file `ABC.frm`
如果操作系统(如Windows)不区分abc.frm
和ABC.frm
,则这两个表不能共存。同样适用于数据库。
另外,如果你马虎而且说两个
SELECT ... FROM abc ...;
SELECT ... FROM Abc ...;
关于什么表需要,可能会有混淆。因此,该设置也适用于查询。