无法执行" IF EXISTS"询问

时间:2015-02-10 06:21:25

标签: mysql

我正在尝试运行一个SQL查询,但有些东西搞砸了,我无法查询以查看指定表中是否存在数据。

我的代码是:

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;

2 个答案:

答案 0 :(得分:0)

已编辑的解决方案:

 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;;

答案 1 :(得分:-2)

在MySQL中,如果必须在函数或存储过程中使用控制块。 所以你需要重写你的查询: