Navicat 直接生成 数据库表联系图
因为写毕业论文刚刚好写到 「数据库表联系图」,本人比较懒,想着用 navicat 直接生成就好了[滑稽],百度一看,奈斯,可以哦。
- 兴冲冲的我马上点开 navicat 就直接生成模型。一看,嗯???为啥表和表之间没有连线的??生成的路径如下图所示:
- 我一看,原来是 Navicat 没有设置外键,奈斯,设置外键 so easy!「设计表」–>「外键」,一顿操作猛如虎呀,然后「外键」表没有新的一列显示,我就纳闷了,再次设置,就出现下面的报错:
- 我再看,原来跑到 「索引」去了,直接谷歌查解决办法,一顿操作猛如虎,原来是需要将「引擎」设置为 InnoB。
- 一开始的我打开整个数据库的命令行界面「show engines;」显示就是 InnoB,我就开始纳闷,为啥我成功呢?后面才发现啊,原来是每个表的引擎都可以单独设置的。
- 在「选项」就可以设置引擎了。而且是必须两个引擎都是 InnoB 才可以进行的哦!如下图所示:
总结:
- 需要所有要用到外键的表引擎都要设置为 InnoB,两个都必须是!
- A 表的主键不可以是 A 表的外键。A 表和 B 表要分清号主从关系哦!比如说:
B 表是服装表(b_id【主键】、name);
A 表是短裤表(b_id、a_id【主键】、name);
那么,B 表是 A 表的父亲,A 表可设置 b_id 为外键。 - 两个表的同一列的类型大小必须一致。