นี่คือสคริปต์ในการสร้างตารางของฉัน:
CREATE TABLE clients (
client_i INT(11),
PRIMARY KEY (client_id)
);
CREATE TABLE projects (
project_id INT(11) UNSIGNED,
client_id INT(11) UNSIGNED,
PRIMARY KEY (project_id)
);
CREATE TABLE posts (
post_id INT(11) UNSIGNED,
project_id INT(11) UNSIGNED,
PRIMARY KEY (post_id)
);
ในรหัส PHP ของฉันเมื่อลบลูกค้าฉันต้องการลบโพสต์โครงการทั้งหมด:
DELETE
FROM posts
INNER JOIN projects ON projects.project_id = posts.project_id
WHERE projects.client_id = :client_id;
ตารางการโพสต์ไม่ได้ที่สำคัญต่างประเทศเท่านั้นclient_id
project_id
ฉันต้องการลบโพสต์ในโครงการที่ผ่านไปclient_id
แล้ว
สิ่งนี้ไม่ทำงานในขณะนี้เนื่องจากไม่มีการลบโพสต์
DELETE posts FROM posts JOIN projects ...
แทนที่จะเป็นIN (subquery)
รูปแบบ (คำตอบจาก Yehosef ให้ตัวอย่างของรูปแบบที่ต้องการ)
alias
สำหรับชื่อตารางและใช้สิ่งนั้นได้