写在前面:昨天在做到navicat中去创建表外键的时候遇到很多的问题和细节再此和大家分享一下,也会说说在工作中遇到的一些实际的问题分享给大家。
首先需要准备的是软件,这里我的mysql5.0.22和navicat11.1.13的。环境自己搭建好就可以
创建数据库
这里啰嗦一句也是现实的经验:在你建立任何数据设计到起名的时候最好起一个有意义的名字,这样以后管理也很方便一看就知道是干嘛的,我记得我一次出差去大连,当时还没去做开发,还是处于前端调试的我,当时需要做的是给大连下的一个区所有的银行部署公司自己的设备加密机,加密机会有设置本地的ip和远端ip两项基本的内容,我当时也不是刚毕业出来找的工作,依稀记得是已经工作的第二年了,只是自己在平时工作和学习中没有把习惯养成,让我吃了一个大亏。当时是招商银行调加密机,连接到的是远端的人民银行,我是在配置IP的时候没有给地址命名,错误的原因是把远端的IP和本地这边IP弄反了,本身招商银行的网络环境也是相当的复杂和老旧,一直没有做升级,内部网络到自己总行也是时常断掉,所以当时的我根本没想起来是自己把两端IP弄反了,和我一起的还有我们的经理,我上午是分配去了招商银行他去了农行,然后他上午弄完就回去了,我一直到下午都没弄完一直感觉到网络哪里不对,但是由于招商的网络复杂程度都让我有点头疼,所以也一直被它所困扰,越做越头疼,最后也是我们经理找到我这个最低级的错误,当时弄完经理也没说什么,但是后来的我也基本在没犯过这样低级的错误,苦口婆心说了这么多,希望无论是做开发的你还是前端实施的你记住,起名至少要让自己和后面维护的人一看就知道是干嘛的,这样就省去了很多麻烦。
创建数据表
创建栏目并设置主键,在这里说下我也是英文水平极差的所以不会英文我可以用拼音代替看着也能知道是什么的,当然你也可以用翻译
保存表名
在上面的表中很明显没有联系方式这些信息,现在我创建联系方式表,后面用外键联系起来
创建联系表栏位
保存联系表,注意名字是干嘛的(重要的事情多说几遍)
现在两个表已经创建完成现在做最重要的就是创建外键,注意look(搞清其中的关系)
在这里我让学生表去创建外键,用idcard这一唯一主键去联系到联系方式表的idcard。
fk_idcard1是我创建外键的名称,这里我用的是1,是以免以后还会在创建,就可以用最后一个数字去做区分
说下下面各个列的意思
栏位:就是你要把哪个键设置为外键,这里我的外键就是idcard
参考数据库:就是外键关联的数据库,我这里的是testmysql
参考表:想要关联的表,我这里是之前设置好的lianxifangshi表
参考栏位:就是我想要去关联的一个栏位,是我之前所说的idcard
删除时:这个对于初学者来说其实不用太关注,它会在保存的时候自动生成,其实意思是删除时选择的动作,每个动作的意思可以百度看下是什么意思
更新时:和上面的删除时是一样的可以查下是什么意思就知道了
就这样我们一个外键就创建成功这样我们在去添加数据的时候就会出现如下图
写在后面:在你创建外键的时候如果出现各种各样的问题,请不要急,慢慢看报错的信息,什么原因导致的,只有搞清楚了错误的原因这样才能在后面遇到越来越多错误的时候会很快的排查问题并解决,同时也是自己能力的提升,其实有时候不管你是做开发还是做前端还是做调试,都会出现让人头痛的时候,但是请静下心来。
现在做开发的我有时候也会想自己写的程序有时候就是会出很多很多BUG,就像一个不争气的儿子,我又不能弄死它也只好慢慢去调教它,希望它能长大。慢慢的你也会有感情,感情有了我相信你也会慢慢去爱它。