我想对 3 行求和,但是当 row1 为 NULL 时,我想跳过它来对所有其他行求和,这样我收到错误:
CREATE TRIGGER `sum_total_test_before_insert` BEFORE INSERT ON `test`
FOR EACH ROW
BEGIN
IF (NEW.row1 IS NULL) THEN
SET NEW.Total = (NEW.row2 + NEW.row3);
ELSE
SET NEW.Total = (NEW.row1 + NEW.row2 + NEW.row3);
END IF;
#1064 - 第 5 行 '' 附近的语法有问题
感谢您的帮助。
我希望有正确的语法
你没有关闭第一个BEGIN。应该是
CREATE TRIGGER `sum_total_test_before_insert` BEFORE INSERT ON `test`
FOR EACH ROW
BEGIN
IF (NEW.row1 IS NULL) THEN
SET NEW.Total = (NEW.row2 + NEW.row3);
ELSE
SET NEW.Total = (NEW.row1 + NEW.row2 + NEW.row3);
END IF;
END;