【发布时间】:2014-07-09 18:40:38
【问题描述】:
以下 SQl 查询给出了错误:
IF EXISTS (SELECT * FROM comments WHERE user_id='2' AND course_id='1')
UPDATE comments SET page1='exists' WHERE user_id='2' AND course_id='1'
ELSE
INSERT INTO comments (user_id,course_id,page1) VALUES ('2','1','inserted')
" #1064 - 您的 SQL 语法有错误;请查看与您的 MySQL 服务器版本对应的手册,了解在 'IF EXISTS (SELECT * FROM cmets WHERE user_id='2' 附近使用的正确语法AND course_id='1') UPDATE co' at line 1 "
我确定语法是正确的?!
【问题讨论】:
-
您是否尝试将其作为独立的 SQL 片段(在这种情况下,在 user_id 和 course_id 上具有唯一键,然后使用
INSERT....ON DUPLICATE KEY UPDATE会更容易),或者作为存储过程中的行? -
我正在尝试通过 phpMyAdmin 将其作为 SQL 查询运行
-
那不是有效的 SQL。 IF 是一个流控制语句,使用原始 SQL 查询没有要控制的流。