用navicat for mysql添加一次外键的报错之旅

对一张数据表添加外键
在这里插入图片描述
未注意栏位名与外栏位名的数据类型,结果直接报错error:3780,这说明两个表关联的列数据类型不一致,检查果然错了,我…
解决方法:将填在外栏位名的列数据类型与栏位名的列数据类型统一

然后继续有报错error:1822,外栏位名不是主键或不是unique,这…
解决方法:外栏位名填的肯定不是主键,将其设置为unique;当然表没设置主键除外…

最后再报错error:1452,插入外键的数据在另一张表中不存在,外键表中不包含原表中已经有的数据,例如:原表中有数据而外键表中没有数据。
这是原表
在这里插入图片描述
解决方法:应该在做外键的表中加入原表已经有的数据
在这里插入图片描述

当再次创建一张外键关联原表的表时,报error:1826
解释:现在有表A(id lap lapn) B(含有lap字段)C(含有lap字段),当B增加lap为外键关联A表后,B在lap外键关联A,在默认下生成的外键名是一样的,也就是
在这里插入图片描述
上面那个名重复了,表名_外键名 这样命名应该不太可能重复

外键添加总结:用navicat for mysql在表t_user中添加外键lap(lap在表t_permissions中)
第一步:到t_permissions中将不是主键的lap设置索引为unique
在这里插入图片描述第二步:向表t_user中添加外键
在这里插入图片描述

错误总结:基础知识非常重要,一定要多回顾,不然走远了
在这里插入图片描述

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

蓝桉未与

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值