2017-05-04 19 views
-2

此代碼提供了以下錯誤SQLite的錯誤:如果

create trigger age_check1 
before insert on person 
for each row begin 
if new.age < 0 
then set new.age = 18; 
end if; 
end 

錯誤:附近的「如果」:語法錯誤:

+0

因爲SQLite [沒有IF](http://www.sqlite.org/lang.html)。 –

+0

@CL。當我在MySql中運行它時,它會在「endif」上發生錯誤。任何想法? – ankushbbbr

+0

MySQL用這個做什麼? –

回答

2

看起來像SQLite的犯規支持更新NEW,然後你應該插入後即可使用。

CREATE TRIGGER age_check1 
AFTER INSERT ON person 
FOR EACH ROW 
WHEN (NEW.age < 0) 
BEGIN 
    UPDATE person 
    SET age = 18 
    WHERE id = NEW.id; // your primary key 
END;