如何在 select 语句后的 mysql 存储过程中插入值
How can I insert value in mysql stored procedure after select statement
我是存储过程的新手,如果有人能帮助我,我将不胜感激!
我正在尝试在 table 中搜索电子邮件,如果该电子邮件存在,那么它会输入 return 电子邮件和用户名,如果它不存在,那么它将插入该电子邮件数据库,但插入部分不起作用,下面是我的代码,但不确定我在这里做错了什么 - 没有错误或任何它只是不插入到 table:
CREATE PROCEDURE InsertMnualUser(IN mail char(40))
BEGIN
DECLARE Mvar char(40);
SELECT user_email INTO Mvar
from AppUsers WHERE user_email=mail;
IF @Mvar IS NULL
THEN
INSERT INTO AppUsers(user_email, username)
values(mail,"username"); <=================
ELSE
SELECT user_email, username
from AppUsers WHERE user_email=mail;
END IF;
END//
DELIMITER ;
@Mvar 与 Mvar 不同
DELIMITER //
CREATE PROCEDURE InsertMnualUser(IN mail char(40))
BEGIN
SELECT user_email INTO @Mvar
from AppUsers WHERE user_email=mail;
IF @Mvar IS NULL THEN
INSERT INTO AppUsers(user_email, username)
values(mail,"username");
ELSE
SELECT user_email, username
from AppUsers WHERE user_email=mail;
END IF;
END//
DELIMITER ;
CREATE TABLE AppUsers (user_email varchar(255), username varchar(255))
CREATE PROCEDURE InsertMnualUser(IN mail char(40))
BEGIN
SELECT user_email INTO @Mvar
from AppUsers WHERE user_email=mail;
IF @Mvar IS NULL THEN
INSERT INTO AppUsers(user_email, username)
values(mail,"username");
ELSE
SELECT user_email, username
from AppUsers WHERE user_email=mail;
END IF;
EN
CALL InsertMnualUser("test@test.com")
SELECT * FROM AppUsers
user_email | username
:------------ | :-------
test@test.com | username
CALL InsertMnualUser("test@test.com")
user_email | username
:------------ | :-------
test@test.com | username
db<>fiddle here
我是存储过程的新手,如果有人能帮助我,我将不胜感激!
我正在尝试在 table 中搜索电子邮件,如果该电子邮件存在,那么它会输入 return 电子邮件和用户名,如果它不存在,那么它将插入该电子邮件数据库,但插入部分不起作用,下面是我的代码,但不确定我在这里做错了什么 - 没有错误或任何它只是不插入到 table:
CREATE PROCEDURE InsertMnualUser(IN mail char(40))
BEGIN
DECLARE Mvar char(40);
SELECT user_email INTO Mvar
from AppUsers WHERE user_email=mail;
IF @Mvar IS NULL
THEN
INSERT INTO AppUsers(user_email, username)
values(mail,"username"); <=================
ELSE
SELECT user_email, username
from AppUsers WHERE user_email=mail;
END IF;
END//
DELIMITER ;
@Mvar 与 Mvar 不同
DELIMITER //
CREATE PROCEDURE InsertMnualUser(IN mail char(40))
BEGIN
SELECT user_email INTO @Mvar
from AppUsers WHERE user_email=mail;
IF @Mvar IS NULL THEN
INSERT INTO AppUsers(user_email, username)
values(mail,"username");
ELSE
SELECT user_email, username
from AppUsers WHERE user_email=mail;
END IF;
END//
DELIMITER ;
CREATE TABLE AppUsers (user_email varchar(255), username varchar(255))
CREATE PROCEDURE InsertMnualUser(IN mail char(40)) BEGIN SELECT user_email INTO @Mvar from AppUsers WHERE user_email=mail; IF @Mvar IS NULL THEN INSERT INTO AppUsers(user_email, username) values(mail,"username"); ELSE SELECT user_email, username from AppUsers WHERE user_email=mail; END IF; EN
CALL InsertMnualUser("test@test.com")
SELECT * FROM AppUsers
user_email | username :------------ | :------- test@test.com | username
CALL InsertMnualUser("test@test.com")
user_email | username :------------ | :------- test@test.com | username
db<>fiddle here