2016-04-26 94 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