我的表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;
答案 0 :(得分:0)
我已经成功了,我使用了DML
而不是DDL
语法...
...
delete from users where name=newname && pass=newpass;
...
答案就在我的鼻子前面......