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修改字段编码,让两边一致