Berikut ini skrip untuk membuat tabel saya:
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)
);
Dalam kode PHP saya, ketika menghapus klien, saya ingin menghapus semua posting proyek:
DELETE
FROM posts
INNER JOIN projects ON projects.project_id = posts.project_id
WHERE projects.client_id = :client_id;
Tabel posting tidak memiliki kunci asing client_id
, hanya project_id
. Saya ingin menghapus posting di proyek yang telah lulus client_id
.
Ini tidak berfungsi sekarang karena tidak ada posting yang dihapus.
DELETE posts FROM posts JOIN projects ...
, bukan IN (subquery)
pola. (Jawaban dari Yehosef memberikan contoh pola yang disukai.)
alias
untuk nama tabel dan menggunakannya.