0
我有表users
列name varchar(25)
和pass varchar(50)
。 我需要創建一個存儲過程,如果存在正確的通行證,則爲正確的用戶刪除列。 如果我的代碼是這樣的,它拋出我的錯誤1064(語法錯誤):mysql st程序如果elseif錯誤
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;
請編輯您的問題,以顯示確切的錯誤。但我懷疑這是因爲你需要單引號字符串文字'SELECT'沒有這樣的用戶!'和'COUNT()'只接受一個參數,但你有'count(name,pass)'。如果您在上面編輯以顯示「用戶」表中的行示例以及您嘗試生成的輸出,這將有所幫助。你不想用'ALTER'從表中刪除列,而是'DELETE FROM users WHERE name = newname AND pass = newpass' –