作者:不只是马甲呀_149 | 来源:互联网 | 2023-07-05 19:37
第一次接触MySQL数据库,其实用起来和Oracle大同小异,用Navicat建表的过程中有几个小地方一时没找到。1、唯一约束这个在索引中,找了半天才发现2、外键这个到好
第一次接触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
这是由键名一致引起的,本表中如果没有键名一致的情况,看看其他表中是否由和本表中外键名重复的。