
一个关于MySQL的删除(更新)的问题
我现在用MySQL建立了一个数据库,其中一个表叫部门,另一个叫员工,员工分属不同的部门,请问如果我删除(更新)一个部门,那么就自动删除(更新)这个部门所含的员工,这样应该...
我现在用MySQL建立了一个数据库,其中一个表叫部门,另一个叫员工,员工分属不同的部门,请问如果我删除(更新)一个部门,那么就自动删除(更新)这个部门所含的员工,这样应该怎么用MySQL语句设定啊?帮我写一下吧,谢谢了
展开
2个回答
展开全部
员工表里每个员工应该对应一个部门号吧,这么写就行:
delete from 员工表 where 部门号 = 删除的那个部门id;
delete from 员工表 where 部门号 = 删除的那个部门id;
追问
我是想问怎么自动删除,比如删除了一个部门,然后这个部门下面的员工就在员工表中被自动删除了
追答
是这样的,如果你在设计数据库(建表)的时候,已经为部门表设置了外键——员工id。那么如果你删除一个部门,相应的员工也会删除。就和楼上那位仁兄所说的了。
但是如果你并没有考虑那么多,没有设置什么外键,又想自动删除。那么只能你手动的多写一句话来删除了。我写的这句话要放在你删除部门语句的后面,这样就都删除了。
也可以这么写(多表删除),比较简洁:
delete 部门表,员工表 from 部门表 inner join 员工表 on 部门表.部门id = 员工表.部门id
where 部门表.部门id = 要删除的那个部门id;
用这句话代替你原来删除部门的那句话,就是自动删除了相应员工表中的数据了。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询