我有这个简单的小触发器..
BEGIN
DECLARE FILE_NAME VARCHAR(250);
DECLARE FILE_REFR VARCHAR(500);
SET FILE_NAME = 'Foo';
SET FILE_REFR = 'Bar';
--- I'd like to execute the next statement, using variable FILE_REFR between %% in a LIKE clause:
SELECT COUNT(*) INTO @num_rows FROM referers WHERE filename = FILE_NAME AND ref NOT LIKE "%FILE_REFR%";
...
...
...
END
不幸的是,变量名没有作为变量被拾取..但作为 CHAR,我知道那里缺少一些东西。
非常感谢您的帮助..:)
最佳答案
将变量用作:
CONCAT('%', FILE_REFR, '%');
所以完整的选择查询是:
SELECT COUNT(*) INTO @num_rows FROM referers WHERE filename = FILE_NAME AND ref NOT LIKE CONCAT('%', FILE_REFR, '%');
谢谢
关于MySQL 在触发器中使用变量 LIKE '%Variable_Name%',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23860150/