2

很基本,我想,但不是今天 :-) 这让我发疯了。如何在触发器中将两个用户定义的变量粘合在一起?

CREATE TRIGGER update_table2 AFTER UPDATE ON table1
FOR EACH ROW BEGIN
      SET @var1="A";
      SET @var2="B";
      SET @varT="";
        ????? 
      UPDATE table2 SET val=@varT;
      END  

我喜欢 varT 是“AB”

我试过了

@varT=CONCAT(@var1,@var2);
@varT=@var1+@var2;
@varT=@var1.@var2;

但它们都不起作用。

4

2 回答 2

3
SET @t = CONCAT(@a, @b);

或者

SELECT CONCAT(@a, @b) INTO @t;

或者

SELECT @t := CONCAT(@a, @b);

但我宁愿

UPDATE table2 SET val = CONCAT(@a, @b);
于 2013-09-13T12:10:41.453 回答
0

解决了

正确的语法是

SET @varT=CONCAT(@var1,@var2);

即使您想添加多个字符串,SET 似乎也是必需的。

SET @var1='A';
SET @var2='B';
SET @var3='C';
SET @XXX = CONCAT(@var1,@var2);
SET @XXX = CONCAT(@XXX,@var3);

结果为“ABC”;

于 2013-09-13T12:27:19.737 回答