我有一个简单的数据库如下。它将员工映射到他们所属的部门。员工离职时,需要从Employee
表和EmployeeDepartment
表中删除他们的记录。同样,部门也可以改变。部门更改时,需要从Department
和EmployeeDepartment
表中删除该记录。从多个表中删除MySQL查询问题
我有一个查询,主要是的作品。但是,当其他记录开始删除时,我确实发现了一些错误。我希望有人能为我检查它。
DELETE e, ed FROM Employee e
INNER JOIN EmployeeDepartment ed ON e.id = ed.id
WHERE ed.id = ?
?
是我想要删除的记录的ID。
编辑
为了进一步解释,如果ID是不同时Employee
和Department
删除将无法正常工作。因此,如果员工已创建,但尚未分配给部门,则删除将无法工作。
你应该看看外键约束,尤其是级联删除。 – 2014-12-08 03:16:51
我现在没有能力创建更高级的数据库......您会如何使用联接进行操作? – roundtheworld 2014-12-08 03:20:26
你在同一个Employee表中有'e'和'ed'列吗? – 2014-12-08 05:11:52