1

おはようございます。私は自分でこれを行うことができればよかったのですが、私は MySQL ステートメントのマスターではなく (まだ)、このDELETEクエリで迷子になったので、ここに行きます...

このような単純なDELETEクエリを実行する必要があります (ID でコメントを削除します)。

DELETE FROM mya_news_comments WHERE comment_id='".$_GET['comment_id']."'";

しかし同時に、人々がウェブサイト全体でコメントを削除するのを防ぐために、このコメントを削除する人が本来の人物 (私たちの場合はアーティスト) であることを確認する必要があります。

mya_newsフィールドの中にある別のテーブルがありますnews_idartist_id またmya_news_comments、というフィールドもありますnews_id

したがって、他のアーティストではなく、特定のアーティストの comment_id を削除することを確認する必要があります。news_id基本的に、フィールド fromが同じfrommya_news_commentsのフィールドでチェックアウトされ、fromが等しいかどうかをクロスチェックする必要があります (これは my を保持します)news_idmya_newsartist_idmya_news$_idartist_id

私は本当にここで立ち往生しています。必要に応じて詳細をお知らせいただければ幸いです。

ありがとう。

4

2 に答える 2

2
DELETE mya_news_comments
FROM   mya_news_comments
WHERE  mya_news_comments.comment_id = (SELECT [another_table].comment_id WHERE [cond])
   AND mya_news.artist_id = (SELECT [another_table].artist_id WHERE [cond]);
于 2012-05-31T08:07:58.603 に答える
1

ステートメントの場合と同じように、ステートメントのテーブルを結合できます。DELETESELECT

DELETE mya_news_comments
FROM   mya_news_comments JOIN mya_news USING (news_id)
WHERE  mya_news_comments.comment_id = ?
   AND mya_news.artist_id = ?
于 2012-05-31T08:04:43.377 に答える