----------------------------------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。
* 使用在外键关系的两个域(字段)数据类型要相同。