我有一些表:有问题的删除与SQL指数
- 表要求与
idask
- 表首选项时
idpref
,fk_idask
,fk_idstructure
- 表结构与
idstructure
与所有的约束在id
和fk_id
之间的一个唯一索引表格PREFERENCES(fk_idask
,fk_idstructure
)。
问题是当我在预置中有两行时。
`IDPREF` `FK_IDASK` `FK_IDSTRUCTURE`
1 1 1
2 1 2
如果我要反转(开关?)两个结构偏好
`IDPREF` `FK_IDASK` `FK_IDSTRUCTURE`
1 1 **2**
2 1 **1**
FK_IDASK
之间的唯一索引FK_IDSTRUCTURE
分手之间,因为有两首选项的第一个更新结果同样要求具有相同的结构。
为了防止这种情况,我做了一个函数deleteAndResave,这个问题暂时解决了。
但现在到达ASSIGNNATION表idassignation
和fk_idpref
。
现在,如果我删除了由ASSIGNATION链接的首选项约束中断。
我已经找到解决办法,但很丑。对于这个问题有一些理智的解决方案?
感谢您的回答!
ps。对不起,我的英语不好:(
第一个工作只为交换案件。 (在我的真实情况下,用户可以选择结构并可以意外交换结构,但这不是规则)。 顺便说一下,第二个例子有点泛化可以工作...明天我试试看。 – thebol 2009-05-25 14:27:59