用Navicat for mysql建表的几个问题


第一次接触MySQL数据库,其实用起来和Oracle大同小异,用Navicat建表的过程中有几个小地方一时没找到。

1、唯一约束

这个在索引中,找了半天才发现


2、外键

这个到好找,就是“删除时”和“更新时” 下面的都是什么意思呢,可以参考这篇文章  : 

   使用Navicat for mysql添加外键约束


现在有两个表一张是t_blog表(博客表),一张是t_blogType表(博客类别)

现在我想把t_blog表中的typeID属性设置为外键,关联t_blogType表中的id属性。

        1,右键t_blog表,设计表,选择外键属性

       


        2,然后会出现一个设置外键的界面,一共有七列。简单介绍一下这几列的意思:

        “名”:  可以不填,你一会保存成功系统会自动生成。

        “栏位”:就是你要把哪个键设置为外键。这里选择‘typeId’

         “参考数据库”: 外键关联的数据库

         “参考表”: 关联的表 这里是t_blogType表

        “参考栏位”:关联的的字段,这里是id

        “删除时":就是删除的时候选择的动作。这里我的选择是setNull,意思就是当关联的表删除以后,t_blog->typeID字段会设置为null。

       “ 更新时”:就是更新的时候选择的动作。这里我的选择是CASCADE,意思就是当关联的表更新以后,t_blog->typeID字段会设置为级联更新。 

3、[Err] 1022 - Can't write; duplicate key in table XXX

这是由键名一致引起的,本表中如果没有键名一致的情况,看看其他表中是否由和本表中外键名重复的。

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值