2013-03-26 108 views
1

由於一切正確,我無法理解錯誤。 OCN是數據庫的名稱。我在MySQL控制檯上檢查了這個查詢,它在那裏運行得很好。但是在函數代碼中它給出了錯誤。任何人都可以幫我解決這個錯誤嗎?提前致謝。這個sql查詢有什麼問題?

這是我的SQL查詢:

DELETE 
     OCN.practice_sheet_set, 
     OCN.practice_sheet_questions 
FROM 
     OCN.practice_sheet_set AS practice_sheet_set, 
     OCN.practice_sheet_questions AS practice_sheet_questions 
WHERE  
     practice_sheet_set.practice_sheet_set_id = practice_sheet_questions.practice_sheet_set_id 
     AND practice_sheet_set.practice_sheet_id=2 

MySQL的錯誤:

1109(多未知表 'practice_sheet_set' DELETE)

+0

嘗試'刪除OCN.practice_sheet_set。*,OCN.practice_sheet_questions。*'。 – Knelis 2013-03-26 11:02:48

+0

@Pranay Rana,CornéM:你在哪裏看到這樣的語法:http://dev.mysql.com/doc/refman/5.5/en/delete.html ?? – zerkms 2013-03-26 11:07:13

+0

您可以試試 – Amit 2013-03-26 11:12:58

回答

5

也許這應該是

DELETE 
     practice_sheet_set, 
     practice_sheet_questions 
FROM 
     OCN.practice_sheet_set AS practice_sheet_set, 
     OCN.practice_sheet_questions AS practice_sheet_questions 

AS陳述(這個查詢有什麼關係?)OCN會丟失。

+0

Thx尋求幫助 – PHPLover 2013-03-26 11:28:09

1

這個查詢應該工作

DELETE 
     pss, 
     psq 
FROM 
     OCN.practice_sheet_set AS pss, 
     OCN.practice_sheet_questions AS psq 
WHERE  
     pss.practice_sheet_set_id = psq.practice_sheet_set_id 
     AND pss.practice_sheet_id=2 

只是刪除「AS」或者,如果你打算使用它,然後刪除應使用表引用,而不是表名的

0

你可以試試這個

DELETE 
    OCN.practice_sheet_set,OCN.practice_sheet_questions 
FROM OCN.practice_sheet_set AS practice_sheet_set 
where practice_sheet_set.practice_sheet_set_id in 
    (select practice_sheet_questions.practice_sheet_set_id 
     from OCN.practice_sheet_questions AS practice_sheet_questions 
     where practice_sheet_set.practice_sheet_set_id=practice_sheet_questions.practice_sheet_set_id 
     AND practice_sheet_set.practice_sheet_id=2);