Navicat 直接生成 数据库表联系图

因为写毕业论文刚刚好写到 「数据库表联系图」,本人比较懒,想着用 navicat 直接生成就好了[滑稽],百度一看,奈斯,可以哦。

  1. 兴冲冲的我马上点开 navicat 就直接生成模型。一看,嗯???为啥表和表之间没有连线的??生成的路径如下图所示:
    Navicat 直接生成 数据库表联系图
    Navicat 直接生成 数据库表联系图
    Navicat 直接生成 数据库表联系图
    Navicat 直接生成 数据库表联系图
  2. 我一看,原来是 Navicat 没有设置外键,奈斯,设置外键 so easy!「设计表」–>「外键」,一顿操作猛如虎呀,然后「外键」表没有新的一列显示,我就纳闷了,再次设置,就出现下面的报错:
    Navicat 直接生成 数据库表联系图
  3. 我再看,原来跑到 「索引」去了,直接谷歌查解决办法,一顿操作猛如虎,原来是需要将「引擎」设置为 InnoB。
    Navicat 直接生成 数据库表联系图
  4. 一开始的我打开整个数据库的命令行界面「show engines;」显示就是 InnoB,我就开始纳闷,为啥我成功呢?后面才发现啊,原来是每个表的引擎都可以单独设置的。
    Navicat 直接生成 数据库表联系图
  5. 在「选项」就可以设置引擎了。而且是必须两个引擎都是 InnoB 才可以进行的哦!如下图所示:
    Navicat 直接生成 数据库表联系图

总结:

  1. 需要所有要用到外键的表引擎都要设置为 InnoB,两个都必须是!
  2. A 表的主键不可以是 A 表的外键。A 表和 B 表要分清号主从关系哦!比如说:
    B 表是服装表(b_id【主键】、name);
    A 表是短裤表(b_id、a_id【主键】、name);
    那么,B 表是 A 表的父亲,A 表可设置 b_id 为外键。
  3. 两个表的同一列的类型大小必须一致。