我有一些表:
- 表问与
idask
- 带有
idpref
,fk_idask
,的表首选项fk_idstructure
- 表结构与
idstructure
与表 PREFERENCES ( , )之间的所有约束id
和fk_id
唯一索引。fk_idask
fk_idstructure
问题是当我在 PREFERENCES 中有两行时。
`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 并暂时解决了这个问题。
idassignation
但是现在用and到达了 ASSIGNATION 表fk_idpref
。
现在,如果我删除由 ASSIGNATION 链接的首选项,则约束中断。
我已经找到了解决方法,但是很丑。这个问题有一些理智的解决方案吗?
感谢你的回答!
附言。对不起,我的英语不好 :(