Evgeny
Evgeny

Reputation: 107

Trigger to change empty values to NULL

I am trying to write a trigger where if an incoming value is empty (in other words ''), then insert NULL in the table. I have :

DELIMITER //
CREATE TRIGGER avoid_empty 
BEFORE INSERT ON EVALUATION
FOR EACH ROW
BEGIN
    IF mark = '' THEN SET NEW.mark = NULL;
    END IF;
END;
//
DELIMITER ;

Which executes without errors, but it doesn't do what I need.

Upvotes: 0

Views: 993

Answers (1)

wchiquito
wchiquito

Reputation: 16559

Try:

DELIMITER //

CREATE TRIGGER `avoid_empty` BEFORE INSERT ON `EVALUATION`
FOR EACH ROW
BEGIN
    IF NEW.`mark` = '' THEN
        SET NEW.`mark` := NULL;
    END IF;
END//

DELIMITER ;

See db-fiddle.

Upvotes: 1

Related Questions