複数テーブル同時削除

以下のようにdelete文を使用すると、複数テーブルからレコードが削除できる。

DELETE
    `table`,
    `child`,
    `grandchild`
FROM
    `table`
LEFT JOIN
    `child`
ON
    `table`.id = `child`.`id_table`
LEFT JOIN
    `grandchild`
ON
    `child`.id = `grandchild`.`id_child`
WHERE
    `table`.id = 1

但し、外部キー制約でON DELETE CASCADEを使った方が早い気がする。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です