I want to sum 3 rows but when value1 is NULL i want to skip it to sum all other rows:
CREATE TRIGGER `sum_total_test_before_insert` BEFORE INSERT ON `test`
FOR EACH ROW
BEGIN
IF (NEW.value1 IS NULL) THEN
SET NEW.Total = (NEW.value2 + NEW.value3);
ELSE
SET NEW.Total = (NEW.value1 + NEW.value2 + NEW.value3);
END IF;
Example of Expected values on Total row
value1 value2 value3 Total
5 6 6 17
2 5 4 11
NULL 5 4 9
ERROR: #1064 - Something is wrong in your syntax near '' in line 5
Thanks for your help.
I expect to have a correct syntax
CREATE TRIGGER `sum_total_test_before_insert`
BEFORE INSERT ON `test`
FOR EACH ROW
SET NEW.Total = COALESCE(NEW.value1, 0) + NEW.value2 + NEW.value3;
But I'd prefer to make Total
column generated one. See https://dev.mysql.com/doc/refman/8.0/en/create-table-generated-columns.html