创建触发器时 MySQL 语法错误

标签 mysql syntax triggers

创建以下触发器后

DELIMITER $$

CREATE TRIGGER NUMERO_OS AFTER INSERT ON custom_values
FOR EACH ROW
BEGIN

IF NEW.custom_field_id = 4 AND NEW.customized_type = 'Issue' THEN

    SET @os = (SELECT MAX(SUBSTRING(value FROM 1 FOR 3)) + 1 FROM custom_values WHERE customized_type = 'Issue' AND custom_field_id = 4 AND SUBSTRING(value FROM 5 FOR 8) = YEAR(CURDATE()));

    IF @os = NULL THEN

        @os = '001';

    END IF;

END IF;

END$$
DELIMITER ;

我收到“@os = '001'; 附近的语法错误”。

我应该怎么做才能运行 MySQL 触发器?

最佳答案

尝试重复设置:

IF @os IS NULL THEN
    SET @os = '001';
END IF;

关于创建触发器时 MySQL 语法错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27192315/

相关文章:

php - MySQL 具有多个类别 id 的搜索

mysql - 计算除夏季以外的产品生命周期中的天数

c++ - 以循环方式使用来自另一个类的 typedef

bash - 如何在 Bash 中连接字符串变量

java - 使用调用该方法的对象

jquery - 如何在Jquery中检测div上的长按?

mysql - TDataSet 后代

mysql - 如何连接 2 个 MySQL 表而不返回所有连接行

postgresql - 在 postgres 9.1 中记录触发器的触发

MYSQL - 触发器 : IF Date is null, 将日期设置为 CURDATE INTERVAL 1 天