我有一个 MySQL 过程,它使用来自另一个表的选择来插入一个表。因此
插入 my_tbl (fld1, fld2, fld3) 从 tbl_2 中选择 fld1, fld2, fld3 其中 tbl_2.id=33;
这很好用
但是,我现在需要从变量中的值(从传入的参数设置)中将另一个字段插入 my_tbl
有人可以解释将插入与选择中的字段(我已经拥有)与作为过程中变量的附加字段混合的语法。
非常感谢
标记
只需像使用列或列表达式一样使用变量,除非它是字符串,否则不要用引号括起来。例如,如果您有变量@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
对于每个插入的行都是相同的。