数据库中表名大小写问题

一个sql整了半天排错,发现是表名大小写不一样导致的,所以记录下

查了下资料,mysql的表名是根据存储在操作系统上的文件的名称来判断的。

如果操作系统文件名不区分大小写,

例如windows,那么对应的表名就不区大小写。

如果操作系统文件名区分大小写,

例如linux,那么对应的表名就区分大小写。

所以linux下表名还是区分大小写的,更多的列名,触发器,存储过程等可以在去研究看看

SELECT 1 AND
    (SELECT 1 FROM  
        (SELECT COUNT(*),
            concat(0x3a,
                (SELECT username FROM USERS LIMIT 0,1),
                FLOOR(rand(0)*2)
                )x FROM information_schema.TABLES GROUP BY x
        )a
    ) 
表名大小写的问题,导致结果显示不一样
select 1 and 
    (select 1 from 
        (select count(*),
            concat(0x3a,
                (select username from users limit 0,1),
                 floor(rand(0)*2)
                 )x from information_schema.tables group by x
        )a
    );

  

posted @ 2023-05-17 09:35  mofy  阅读(80)  评论(0编辑  收藏  举报