mysql st procedure if elseif错误

时间:2016-05-01 22:00:38

标签: mysql stored-procedures

我的表users包含name varchar(25)列和pass varchar(50)列。 我需要创建存储过程,为正确的用户删除列(如果存在)。 如果我编写这样的代码,它会抛出错误1064(语法错误):

delimiter //
create procedure delete_user(newname varchar(25), newpass(50))
begin
    declare usersCount int;
    select count(name,pass) from users into usersCount where name=newname && pass=newpass;
    if usersCount !=0 then
        alter table users drop column where name=newname && pass=newpass;
    else if
        select there is no souch user\!;
    end if;
end//
delimiter;

1 个答案:

答案 0 :(得分:0)

我已经成功了,我使用了DML而不是DDL语法...

... delete from users where name=newname && pass=newpass; ...

答案就在我的鼻子前面......