早上好,周四早上快乐。我希望自己可以自己完成这个,但是因为我不是MySQL语句中的高手(还),我在这个DELETE
查询中迷失了,这里就是......
我必须像这样做一个简单的DELETE
查询,(通过其ID删除评论)
DELETE FROM mya_news_comments WHERE comment_id='".$_GET['comment_id']."'";
但与此同时,要防止人们在整个网站上删除评论 我需要确保删除此评论的人是应该是谁(在我们的例子中,是艺术家)。
我有另一个表mya_news
,其中包含news_id
,artist_id
字段
在mya_news_comments
我还有一个名为news_id
所以我需要检查是否删除了特定艺术家的comment_id,而不是其他艺术家。
基本上我需要交叉检查来自news_id
的{{1}}字段是否与来自mya_news_comments
的{{1}}字段以及来自{{1}的news_id
字段进行核对等于mya_news
(包含我的artist_id
)
我真的被困在这里了。如果需要,我很乐意提供更多细节。
感谢。
答案 0 :(得分: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]);
答案 1 :(得分:1)
DELETE
语句中的join个表格就像SELECT
语句一样{<1}}:
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 = ?