mysql st 程序 if elseif 错误

标签 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;

最佳答案

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

... 从 name=newname && pass=newpass 的用户中删除; ...

答案就在我眼前......

关于mysql st 程序 if elseif 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36972457/

相关文章:

sql-server - 检查 SQL Select 语句是否不返回任何行

sql-server - 使用大量来自 C# 的存储过程

t-sql - 将数据从临时表插入到多个相关表中?

SQL 2005 - 搜索存储过程中的文本(并非搜索所有文本)

MySQL : loop over tables and alter table add index

mysql - Docker Compose phpmyadmin 未连接到 MySQL

mysql - 嵌套模型上的 Django JOIN 带有查找字段的外键

php - 具有动态准备语句的安全、可扩展数据库

php - 相互检查两个单独的表 - Mysqli/PHP

sql - SQL 更新期间违反 UNIQUE KEY 约束