触发器上的MySQL语法错误(错误1064)

时间:2014-12-03 15:46:22

标签: mysql syntax-error

我正在尝试创建一个触发器,当字段TEMPO_PERCORSO(VARCHAR)IS UPDATED检索与分钟和秒相关的信息时,转换为第二个添加然后分段并存储在字段PUNTEGGIO中这是指令

CREATE TRIGGER UpdPunteggioTrig
   AFTER UPDATE ON t_risultati_manche
    FOR EACH row
    BEGIN    
    DECLARE MIN INT;
    DECLARE SEC INT;
    DECLARE CENT VARCHAR(2)   
      DECLARE PUNTSTR VARCHAR(10)
      IF (LENGTH(NEW.TEMPO_PERCORSO))>1 THEN
        SET MIN = CONVERT(SUBSTRING(NEW.TEMPO_PERCORSO, 1, 2), SIGNED INTEGER) * 60;
        SET SEC = CONVERT(SUBSTRING(NEW.TEMPO_PERCORSO, 4, 2), SIGNED INTEGER);
        SET PUNINT = MIN + SEC + NEW.PENALITA;
        SET CEN = SUBSTRING(NEW.TEMPO_PERCORSO, -2);
        SET PUNTSTR = CONCAT(CONVERT(PUNTINT,char), '.', CENT);
        SET NEW.PUNTEGGIO = CONVERT(PUNTSTR, DECIMAL(7, 2));
      END IF;
END;

这是我收到的错误消息:

Error Code: 1064. You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 5

0 个答案:

没有答案