2017-06-14 83 views
0

我想寫一個觸發器,如果​​傳入值爲空(換句話說就是''),則在表中插入NULL。我有:觸發器將空值更改爲NULL

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

它執行沒有錯誤,但它沒有做我所需要的。

回答

1

嘗試:

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 ; 

db-fiddle

+0

我已經通過編寫一個特殊的SQL查詢解決了這個問題。無論如何,我會標記你的答案 – Rockasaurus