日期:2014-05-17  浏览次数:20739 次

【求助】关于创建关系后插入记录后,提示违反约束的问题
表A的字段 name 我已经创建了关系约束,他的内容是另一个表的ID,但表A的name字段内容如果不输入的话,我希望是默认空值,也就是说 name 是设置了默认值为 空 的,为何建立关系后,默认值空也提示 违反约束呢??

有办法 让内容是默认值时 不算 违背约束 

有办法吗?






------解决方案--------------------
删除外键约束,不建议用.
------解决方案--------------------
name为另外一个表的外键,这所以不能设置默认值为空,这样做不符合逻辑。
最好的解决办法,name由默认值为空改为非空,这样一切问题都解决了



------解决方案--------------------
外键约束的前提:
#1.另一个表的ID必须是主键
#2.表A的字段name和另一个表的ID是多对1的关系.
#3.默认值约束是另外一个约束,跟外键本来是没有任何关系的
#4.当你没有指定NAME字段的值,默认值约束起作用时,表A的name字段,就会产生一个''值。这时如果另一个表的ID字段,没有''这个值,就违反了外键约束。
你手工往另外一个表的插入一条ID为''的记录即可。