我有以下MySQL查詢,我正在使用PHP(5.2)。DELETE FROM查詢JOIN不工作?
DELETE t1.*, t3.* FROM
forum_posts AS t1,
forum_topics AS t2,
user_points AS t3
WHERE t1.topic_id = t2.topic_id
AND t2.deleted = 1
AND t1.post_id = t3.id
AND t3.type = 'post'
AND t1.post_author = t3.profile_author
但是它不能正常工作,我怎麼打算太(!沒有任何反應),讓我解釋一下:
我打算查詢中做的是,以刪除forum_posts
表中的所有行/或(我在說「和/或」,因爲它將取決於行是否存在)刪除user_points
表中的所有行=> [如果已創建帖子的主題已被刪除()避免混淆它真的只是「隱藏」,我們通過檢查它是否等於1
)]來確定這一點)。
希望查詢結構解釋一下自己,topic_id
主要用來把JOIN
這個表一起。
查詢運行良好(不提供MySQL或PHP錯誤,所以我會假設語法正常?),我已經檢查了DB和所存在的刪除的主題(deleted
列設置爲1
)和他們的帖子也存在這些主題(所以不是沒有數據的情況)。
感謝所有回覆。
嘗試用'SELECT'替換'DELETE',看看你是否得到你想要刪除的行。 – Vache
@Vache,我剛剛嘗試過,並且它什麼也沒有返回,然後我嘗試刪除user_points部分,它返回了帖子的行,看到的點不存在我認爲這是問題,是他們的任何方式檢查它是否存在於查詢中? – newbtophp