插入表(从另一个表中选择)和MySQL中的一些参数

时间:2018-10-28 16:20:11

标签: mysql mysqli

我想插入到一个表中,从另一个表中选择值,而一些带有参数。

CREATE  PROCEDURE `insertuser`(
    IN `param1` VARCHAR(50)

)
BEGIN

insert into users(firstname,lastname,email) 
select name,nickname,@param1 from members
where id=3;
END

我填写了param1,但查询在电子邮件中插入了null 我该怎么办?

1 个答案:

答案 0 :(得分:0)

@符号用于定义Session variables(任何位置的Session均可访问)。您不需要在这里使用@,因为您正在使用存储过程中的输入参数值。

请尝试以下操作:

DELIMITER $$
CREATE  PROCEDURE `insertuser`(IN `param1` VARCHAR(50))
  BEGIN

    INSERT INTO users(firstname,lastname,email) 
    SELECT name,nickname,param1 -- remove @ from @param1 here
    FROM members
    WHERE id=3;
END$$
DELIMITER ;