MySQl过程从表和变量INSERT INTO

时间:2013-06-26 20:16:33

标签: mysql insert procedure

我有一个MySQL过程,它使用另一个表中的select插入表中。 因此

INSERT INTO my_tbl(fld1,fld2,fld3)   SELECT fld1,fld2,fld3 FROM tbl_2   其中tbl_2.id = 33;

工作正常

但是,我现在需要从变量中的值(从传入的参数设置)中向my_tbl插入另一个字段

有人可以解释语法,将插入与select(我已经拥有)中的字段与作为过程变量的附加字段混合。

非常感谢

标记

1 个答案:

答案 0 :(得分:1)

只需使用变量,就像使用列或列表达式一样,除非它是一个字符串,不要用引号括起来。例如,如果您有变量@idValue

INSERT INTO my_tbl (fld1, fld2, fld3)
SELECT fld1, fld2, fld3 FROM tbl_2
where tbl_2.id = @idValue;

或者,如果您正在更新,例如,您有一个变量@fld2Value

INSERT INTO my_tbl (fld1, fld2, fld3)
SELECT fld1, @fld2Value, fld3 FROM tbl_2
where tbl_2.id = @idValue;

这会将tbl2.fld1,变量@fld2Value的值和tbl2.fld3插入my_tbl。插入的行数取决于SELECT返回的行数,@fld2Value对于每个插入的行都是相同的。