Mysql 无法执行“如果存在”查询

Mysql 无法执行“如果存在”查询,mysql,Mysql,我正在尝试运行SQL查询,但出现了一些问题,我无法在下面的查询中检查数据是否存在于指定的表中 我的密码是: 编辑的解决方案: 在MySQL中,if控制块必须在函数或存储过程中使用。 因此,您需要重写查询:不要添加注释,编辑问题。您的代码不是PHP。使用正确的标签。你使用的是什么数据库引擎?你没有收到警告吗,你的帖子只包含代码,请添加一些文本。请检查以下内容:你确定吗?根据谷歌的说法,1064是一个MySQL错误: IF EXISTS(SELECT brth_day FROM sms.birthd

我正在尝试运行SQL查询,但出现了一些问题,我无法在下面的查询中检查数据是否存在于指定的表中

我的密码是:

编辑的解决方案:


在MySQL中,if控制块必须在函数或存储过程中使用。
因此,您需要重写查询:

不要添加注释,编辑问题。您的代码不是PHP。使用正确的标签。你使用的是什么数据库引擎?你没有收到警告吗,你的帖子只包含代码,请添加一些文本。请检查以下内容:你确定吗?根据谷歌的说法,1064是一个MySQL错误:
IF EXISTS(SELECT brth_day FROM sms.birthdaycheck WHERE brth_day = '2015-02-10')
THEN
  BEGIN
    UPDATE sms.birthdaycheck SET cnt = 1 WHERE brth_day = '2015-02-10'
  END
ELSE
  BEGIN
    INSERT INTO sms.birthdaycheck(cnt,brth_day) VALUES (1,'2015-02-10')
  END
END IF;
 delimiter ;;
 create procedure XYZ(...parameters...)
 begin

 if exists(
    SELECT brth_day FROM sms.birthdaycheck WHERE brth_day = '2015- 
    02-10') 
 then
    UPDATE sms.birthdaycheck SET cnt = 1 WHERE brth_day = '2015-02-10';
 else
    INSERT INTO sms.birthdaycheck(cnt,brth_day) VALUES (1,'2015-02-10');
    end if;

 end;;