1. E-R图生成

用 mysql的Navicat Premium图形界面工具 。 可以生成E-R图。
把你的数据库选中后右键 , 选择“逆向表到模型” 就可以了

2.添加外键约束

   一共有七列,每列含义如下:

 (1) “名”:  可不填,保存后系统会自动生成。

 (2) “字段”:需要设置外键的字段。

 (3)“参考模式”: 外键关联的数据库。

 (4) “参考表”: 关联的表

 (5)“参考字段”:关联外表字段

 (6)“删除时":就是删除的时候执行的动作。这里一般选择setNull,意思就是当关联的表删除以后,字段会设置为null。

 (7)“ 更新时”: 就是更新的时候执行的动作。这里一般选择CASCADE,意思就是当关联的表更新以后,字段会设置为级联更新。 

3.  添加外键时出现报错:外键不兼容 are  incompatible

查找原因是:

1)要关联的字段长度不一致。解决办法:修改长度

2)两个要关联的表编码不一样。

原因分析:

1. 导出表编码:选中表—右键—转储SQL文件—仅结构,发现两个表的关联字段的编码不一样

一个是:  `user_id` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,

另一个是:`user_id` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,

2. 在navicat查看字段编码

解决办法:直接在navicat修改字段编码,让两边一致

 

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐