我正在尝试创建mysql触发器,但无法,不知道错误是什么

问题描述 投票:0回答:1

这是触发器查询

DELIMITER $$

CREATE TRIGGER Adjust_ref_token插入后关于每一行的交易DECLARE token_ref整数;

选择ico_stages.sales_token INTO @token_ref在哪里ico_stages.start_date <= NOW()<= ico_stages.end_date;

如果NEW.tnx_type ='referral'然后更新ico_stages SET ico_stages.sales_token =(@token_ref-NEW.tokens)WHERE ico_stages.start_date <= NOW()<= ico_stages.end_date;万一;END $$

显示错误是>

CREATE TRIGGER adjust_ref_token

插入后关于每一行的交易DECLARE token_ref整数;

选择ico_stages.sales_token INTO @token_ref在哪里ico_stages.start_date <= NOW()<= ico_stages.end_date;

如果NEW.tnx_type ='referral'然后更新ico_stages SET ico_stages.sales_token =(@token_ref-NEW.tokens)WHERE ico_stages.start_date <= NOW()<= ico_stages.end_date;万一;结束MySQL说:文档

1064-您的SQL语法有误;请查看与您的MySQL服务器版本相对应的手册,以在'DECLARE token_ref integer附近使用正确的语法;

第4行的[SELECT ico_stages.sales_token INTO @token_ref在哪里]

谁能告诉我这是什么错误吗?

这是触发器查询DELIMITER $$ CREATE TRIGGER Adjust_ref_token在为每个行DECLARE事务插入事务后,token_ref整数; SELECT ico_stages.sales_token INTO @token_ref在哪里...

mysql database-trigger
1个回答
0
投票
DELIMITER $$
CREATE TRIGGER adjust_ref_token AFTER INSERT ON transactions
FOR EACH ROW 
BEGIN
    DECLARE token_ref integer;

    SELECT ico_stages.sales_token INTO @token_ref WHERE ico_stages.start_date <= NOW() <= ico_stages.end_date;

    IF NEW.tnx_type = 'referral' THEN 
        UPDATE ico_stages SET ico_stages.sales_token = (@token_ref - NEW.tokens) WHERE ico_stages.start_date <= NOW() <= ico_stages.end_date; 
    END IF;
END; $$
DELIMITER ;
© www.soinside.com 2019 - 2024. All rights reserved.