繁体   English   中英

存储过程删除

[英]Stored procedure Delete

嗨,我正在练习存储过程,我需要帮助。 我想尝试使用IF。 如果存在选择ID,则我要删除它。

错误1064(42000):您的SQL语法有错误; 检查与您的MySQL服务器版本相对应的手册以获取在第6行的''附近使用的正确语法

DELIMITER $$
CREATE PROCEDURE HELLO(IN _id INT)
BEGIN
IF EXISTS(SELECT ID FROM User WHERE ID = _id) 
THEN 
DELETE FROM User WHERE ID = _id;
END
$$
DELIMITER ;

这不是if的好例子。 最好的逻辑是:

begin
    delete from user where id = _id
end;

没有理由, if在这种情况下。 可以这样做:

begin
    if exists (select 1 from users where id = _id) then
        delete from user where id = _id;
    end if;
end;

我不推荐这个。 但是,基本上,你只需要end ifif在之前end

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM