MySQL学习笔记(一):添加外键

本文介绍了在外键添加过程中遇到的问题及解决方案。当表A的UID字段无法与表B的ID字段匹配时,可能导致外键添加失败。文章提供了检查并修正这种不一致性的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

----------------------------------2017-11-24 更新:-----------------------------------------------------

问题描述:今天给表a添加外键(字段a.uid关联 表b的id)时,一直提示失败;后来发现是因为表a里有的数据的uid在表b中找不见对应的id(因为手动删除过表b的数据)。

解决办法:在表a中找出uid跟表b的id对应不上的数据,将其uid置为null即可;

--------------------------------------------------------------------------------------------------------

1、添加外键

语句:alter table 表名 add constraint 外键约束名 foreign key(列名) references 引用外键表(列名) 
eg:
alter table clothsize add constraint clothId foreign key (clothId) references cloth(Id)
2、删除外键
语法:alter table 表名 drop constraint 外键约束名 
如: 
alter table clothsize drop constraint clothId 

添加外键的注意事项:

    * 两个表必须是InnoDB表类型。   
    * 使用在外键关系的域(字段)必须为索引型(Index)。所以要为设置外键的字段建立index。
    * 使用在外键关系的两个域(字段)数据类型要相同。 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值