我有这个问题。我得到了下表:
employeeID - supervisorID - workerType 1 - 3 - 1 2 - 3 - 1 3 - NULL - 1
supervisorID实际上是主键“employeeID”的外来名称。每个员工都属于workerType。
现在我要删除所有workerType=1
,因此会删除employeeID=1, employeeID=2 & employeeID=3
。但是mysql不允许它获得外键约束(即employeeID=3
)。
另外,我不希望on delete cascade
我希望拒绝非法删除(只有经理可以删除员工)。如果我允许on delete cascade
那么我必须建立另一个系统来控制非法删除,但这需要更多的能量。
我正在使用旧的mysql 5.0
最好删除外键然后删除记录&最后设置了外键?
那么如何在不删除外键的情况下删除workerType=1
?
答案 0 :(得分:1)
如果我理解正确,您可以将FK值设置为NULL(supervisorID
列),然后删除。