下面的代码向插入的每一个新行添加一个国家/地区代码,在本例中,“US”代表“United States”。
CREATE TRIGGER `country` BEFORE INSERT ON `test`
FOR EACH ROW SET NEW.`countryCode` = CASE
WHEN NEW.`country` LIKE 'United States' THEN 'US'
END
上面的代码运行良好,但我还想插入一个变量。下面的代码生成了一个#1064语法错误:
SET @countryCode = 'US'
CREATE TRIGGER `country` BEFORE INSERT ON `test`
FOR EACH ROW SET NEW.`countryCode` = CASE
WHEN NEW.`country` LIKE 'United States' THEN @countryCode
END
最后,我希望能够使用一个变量,以便可以将多个国家/地区代码连接并插入到同一列中。
2条答案
按热度按时间iaqfqrcu1#
您需要在触发器内定义变量。请尝试:
iezvtpos2#
这一做法奏效了: