【问题标题】:Insert into table (select from another table) and some parameters插入表格(从另一个表格中选择)和一些参数
【发布时间】:2018-10-28 16:20:11
【问题描述】:

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

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 插入到电子邮件中 我需要做什么?

【问题讨论】:

    标签: mysql


    【解决方案1】:

    @ 符号用于定义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 ;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-08-19
      • 2014-02-17
      • 1970-01-01
      • 2012-04-29
      • 1970-01-01
      • 2013-12-14
      相关资源
      最近更新 更多