今天遇到一个很无语的问题,无意执行一个sql导致一张表的表名由大写变成了小写,不管是用navicat直接改还是用sql的 rename to都提示大写的表名已经存在。。。。
无奈的LZ只好使出终极大招:备份原有的表结构和数据,把备份文件里面小写的表名改成大写,然后把小写的表删掉,重新导入。
诡异的是这个时候表名又自动变成了小写。唉。。。mysql犯起大姨妈就是这么难伺候。只好转个方向找思路了,t_mm_goods 既然你mysql不让我重命名为T_MM_GOODS,那我命名为T_MM_GOODS1你还能打我?!!用navicat照这思路操作竟然成功了!既然允许t_mm_goods重命名为T_MM_GOODS1,那么T_MM_GOODS1重命名为T_MM_GOODS应该没问题才对,不然就真没天理!!经一番折腾总算把表名改了回来。
注:mysql默认对大小写并不敏感,所以上述操作前必须在my.ini文件添加配置:lower_case_table_names=0,但mysql5.7貌似是2。这个得注意!

本文记录了一次因意外操作导致MySQL中表名大小写变化的解决过程,通过备份、修改表名及调整my.ini配置文件等步骤最终完成表名的正确更正。
2037

被折叠的 条评论
为什么被折叠?



