1

2 つの MySQL (MyISAM) テーブルがあります。

Posts: PostID(primary key), post_text, post_date, etc. 

Comments: CommentID(primary key), comment_text, comment_date, etc.  

対応する投稿レコードが「投稿」テーブルから削除されたときに、特定の投稿に属する「コメント」テーブル内のすべてのコメントを削除したい。

これは、InnoDB でカスケード削除を使用して (外部キーを設定することにより) 達成できることを知っています。しかし、PHP を使用して MyISAM でそれを行うにはどうすればよいでしょうか?

4

3 に答える 3

3
DELETE
    Posts,
    Comments
FROM Posts
INNER JOIN Comments ON
    Posts.PostID = Comments.PostID
WHERE Posts.PostID = $post_id;

コメント テーブルにフィールド PostID があると仮定します。これは、コメントが属する投稿を指定します。

于 2009-07-14T15:37:41.607 に答える