例如:
我们有一个'device'
的表id(primary key)
,通过parent_dev_id(foreign key)
自我引用。
如果您的设备包含{id=1,parent_dev_id=NULL}
并且您想要添加更多设备,则下一个设备的ID = 2且parent_id = 1或设备id=2,parent_dev_id=NULL
包含2个设备{{1}但它们都有相同的id=3,id=4
。
是否可以拒绝或限制id == parent_dev_id的某些情况?因为我们不希望这是可能的
如您所见,parent_dev_id=2
设备中还有其他2个设备
例如。具有{id=3,parent_dev_id=NULL}
和设备{id=4,parent_dev_id=3}
的设备,它是设备内的设备。
是否可以在{id=5,parent_dev_id=3}
的第一行限制{id!=parent_dev_id}
,以便您无法添加{id=3,parent_dev_id=NULL}
。如果我们这样做,那将是无限循环的设备,它们自我引用而没有任何好处< / p>
答案 0 :(得分:0)
您可以在此处执行两种解决方案选项:
id
和parent_id
不相等的逻辑parent_id
和id
不能相等的相同操作。如果id
是生成ID,您将遇到的问题。遇到你所询问的情况会很棘手。在插入时,这可能是异常情况。但是,对于可能是有效问题的更新,您希望在#2中触发更新id
和parent_id
不相等的记录。