[英]How to insert record which has foregin key referenced to primary key of another table in PHP Script?
[英]How do I delete a record in a table which has a primary key referenced in another table as foreign key?
在我的数据库中,我有一个表,上面写着“employee”,它有一个主键属性“employee_id”和另一个属性“salary”。 还有一个表说“employee_qualification”,它有一个外键属性“employee_id”。 那么,如何从“employee”和“employee_qualifications”中删除salary=10000的所有记录?
这似乎不起作用。
DELETE FROM employee WHERE employee.salary=10000;
您可以执行两条语句。
DELETE FROM employee_qualifications WHERE employee_qualifications.employee_id in (SELECT employee_id FROM employee WHERE employee.salary=10000)
DELETE FROM employee WHERE employee.salary=10000
虽然这会起作用,但它可能会在employee_qualifications 表中留下一些孤立的记录。 下面的选项将清除孤立的记录。
DELETE FROM employee WHERE employee.salary=10000
DELETE FROM employee_qualifications WHERE employee_qualifications.employee_id Not in (SELECT employee_id FROM employee)
MySQL 允许同时从多个表中删除。 所以你可以这样做:
DELETE e, eq
FROM employee e JOIN
employee_qualitifications eq
WHERE e.employee_id = eq.employee_id AND
e.salary = 10000;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.