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