2016-04-26 91 views
0

我有以下查詢:爲什麼這個SQL不正確(MySQL)?

"DELETE * FROM Participations WHERE scheduleId IN (SELECT id FROM Schedule WHERE meetingId = :meetingId) AND userId = :userId" 

我分配使用PDO正確的變量。

作爲迴應,我得到:

SQLSTATE [42000]:語法錯誤或訪問衝突:1064

您的SQL語法錯誤;檢查對應於你的MySQL服務器版本使用附近的「* FROM參股WHERE scheduleId IN(SELECT ID FROM進度安排會議」正確的語法在行1}

,這就夠了我更換先刪除手動與SELECT和查詢此外,當我直接在phpMyAdmin與刪除測試相同的查詢在正常工作做好。 。

我很困惑....

回答

1

使用DELETE FROM(注意缺乏*)改爲

1

錯誤消息清楚地表明它是'*'附近的語法錯誤。

從DELETE語句

DELETE FROM Participations WHERE scheduleId IN 
      (SELECT id FROM Schedule WHERE meetingId = :meetingId) AND userId = :userId 
+2

刪除*現在就殺了我.... – RobertPorter