语法错误MySQL(如果存在)

语法错误MySQL(如果存在),mysql,if-statement,subquery,Mysql,If Statement,Subquery,我有一个投票的SQL查询,用来检查投票是否存在,但它总是在附近给我语法错误 IF EXISTS (SELECT * FROM `votes` WHERE `id` = 298 AND `author` = 'noo 子查询本身运行良好 IF EXISTS (SELECT * FROM `votes` WHERE `id` = 298 AND `author` = 'noob') THEN 'exist' ELSE INSERT INTO `votes`(`id`, `autho

我有一个投票的SQL查询,用来检查投票是否存在,但它总是在附近给我语法错误

IF EXISTS (SELECT * FROM `votes` WHERE `id` = 298 AND `author` = 'noo
子查询本身运行良好

IF EXISTS (SELECT * FROM `votes` WHERE `id` = 298 AND `author` = 'noob') THEN
    'exist'
ELSE
    INSERT INTO `votes`(`id`, `author`, `type`, `value`) VALUES (298, "noob", "upvote", 1)
    'upvoted'
END IF

if else
只能在mysql中的存储函数/过程和触发器中使用,而不能在独立sql语句中使用。如果您的“id”或“作者”具有唯一索引,则可以使用INSERT IGNORE或ON DUPLICATE UPDATE