1
 DELIMITER ||
CREATE TRIGGER `monthly_insert` BEFORE INSERT ON `history_monthly`
FOR EACH ROW
BEGIN
    NEW.`uid` = CONCAT(OLD.`year`, OLD.`month`, OLD.`charactersId`);
END;
||
DELIMITER ;

そしてそれはエラーを返します:

#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 '.`uid` = CONCAT(OLD.`year`, OLD.`month`, OLD.`charactersId`);
END' at line 4 

トリガーを使うのは初めてで、魂を見つけるために最善を尽くしていましたが、失敗しました; <

4

1 に答える 1

1

SET次の行に単語を追加する必要があります。

SET NEW.`uid` = CONCAT(OLD.`year`, OLD.`month`, OLD.`charactersId`);

また、コメンターが指摘したように、トリガーにはOLD価値がありません。BEFORE INSERT

于 2011-02-09T18:46:15.667 に答える