Windows 版的 MySQL我设置my.ini以下:lower_case_table_names=2
建立一个表a , 之后再建立表A提示错误(表a已经存在),原因找到---a在创建期间按照指定的名称存储,但是大小写不敏感。但是linux下的mysql是可以存在表 a  和表A的
请问有方法没有在Windows 版的 MySQL的库里同时存在表 a  和表A?
附后
Windows 版的 MySQL 默认继承 os 的大小写习惯,即使 SQL中有区分,在导入的时候都会被转为小写,如果今后再将此数据库导出就可能存在大小写的问题。my.ini 中有属性lower_case_table_names 可以更改此默认值,要严格区分大小写,将此项的置设置为2,再重启 MySQL 服务即可。
参考:lower_case_table_names=2lower_case_table_names有3种值可以设置,意义如下:
0:表和数据库名在创建时以小写字母方式存储,且名称比较大小写不敏感。
1:表名以小写方式存储在磁盘中,且表名是大小写不敏感的。
2:在创建期间按照指定的名称存储,但是大小写不敏感。

解决方案 »

  1.   

    没有办法,这是由操作系统决定的!因为MYSQL需要创建 a.frm , A.frm 文件在磁盘上,而这是WINDOWS所不允许的。所以无解。不用再浪费时间了。
      

  2.   

    有方法没有在Windows 版的 MySQL的库里同时存在表 a 和表A-----------------------------------------
    windows下不可以
      

  3.   

    在配置文件中设置区分大小写,然后把两个表建到不同目录下试试看。
    通过DATA DIRECTORY和INDEX DIRECTORY把数据文件和索引文件建到不同目录。