2014-12-02 91 views
2

SQLite是否有可能基于该行内的其他列动态插入/更新表中某行的值?一个简单的例子基于列值动态更新SQLite行

CREATE TABLE family(first TEXT, last TEXT, full TEXT *magical specification); 

INSERT INTO family (first,last) VALUES ('foo','bar') 

最佳图示,并且该表在第三列自动填写与其他两个组合:

first  last   full 
--------- ------------ ----------- 
    foo   bar   foo bar 

回答

1

你可以使用一个trigger

CREATE TRIGGER family_full 
AFTER INSERT ON family 
FOR EACH ROW 
WHEN NEW.full IS NULL 
BEGIN 
    UPDATE family 
    SET full = first || ' ' || last 
    WHERE rowid = NEW.rowid; 
END;