MySQL | Navicat | MySQL表名大小写问题 | Navicat自动生成ER图的关联

Kanya ·
更新时间:2024-09-21
· 816 次阅读

问题引发:
假设现在有 表A 和 表B(A和B分别为表名),具体设计如下:
在这里插入图片描述

在这里插入图片描述
其中,表B的 aid 是外键,关联表A的aid主键,如下设置外键:
在这里插入图片描述
如何设置外键的操作链接:https://blog.csdn.net/qq_43604667/article/details/104183134

理想中生成的ER图应为(也就是那条红线,表示表A和表B直接的关系):
在这里插入图片描述
实际中生成的ER图如下:
在这里插入图片描述

解决:
发现把表名改为小写之后就出现了表与表直接的关系,如下:
在这里插入图片描述

理由:
上网找,说是因为 MYSQL 数据库大小写敏感的问题:

查看数据库大小写敏感设置的语句: show variables like 'lower_case_table_names'; 该查询取值及含义: 0:表名按照指定的大小写存储,查找的时候区分大小写; 1:表名存储小写,查找的时候都转成小写查找(即不区分大小写); 2:表名按照指定的大小写存储,查找的时候都转成小写查找; 默认: linux默认值0,Windows 默认为1,阿里云RDS 默认为1

我查询出来的也是1,也就是不区分大小写,但 navicat 自动生成的 ER 图并不显示关系。
我也没有尝试去修改这个数值,因为有的博文说修改不上。

参考文章:
https://blog.csdn.net/liumiaocn/article/details/89473302
https://blog.csdn.net/liyongbing1122/article/details/99625529
https://blog.csdn.net/oak_javaLearner/article/details/103882555

我现在体会到的生成外键的好处,可能除了外键关系清晰,还有就是点击ER图的线时,会弹出相对应的关系吧。
在这里插入图片描述


作者:l.x._.



Navicat mysql表 er图 大小写 Mysql

需要 登录 后方可回复, 如果你还没有账号请 注册新账号