日期:2014-05-16  浏览次数:20835 次

外键约束为空的情况?
有张客户表account,内有主键account.id和外键推荐人IDaccount.recommender_id
如果为该建IDaccount.recommender_id添加外键约束,则在插入一条新数据时会出现违反完整性条件约束的错误。
可是,在业务上是允许新客户是没有推荐人的。
请问大大们,这个怎么破!

------解决方案--------------------
引用:
有张客户表account,内有主键account.id和外键推荐人IDaccount.recommender_id
如果为该建IDaccount.recommender_id添加外键约束,则在插入一条新数据时会出现违反完整性条件约束的错误。
可是,在业务上是允许新客户是没有推荐人的。
请问大大们,这个怎么破!


这种情况下应该不能用外键约束吧,我觉得你可以用触发器来实现有推荐人的必须在推荐人表中存在
------解决方案--------------------
外键必须是另一个表的主键,主键是不能为空的。你的需求违反了oracle的约束
------解决方案--------------------
建自治事务,没有推荐人就给默认值