我正在尝试运行一个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;
答案 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中,如果必须在函数或存储过程中使用控制块。 所以你需要重写你的查询: