如何记住'要插入sqlite中的两个表的值?

时间:2012-11-29 21:31:33

标签: sql sqlite

我有一个触发器,我想将相同的随机值插入到两个表中。我该怎么做?

CREATE TRIGGER insertTrigger AFTER INSERT ON TableAB 
BEGIN
    INSERT INTO TableA(id, num) VALUES(RANDOM(), 1);
    INSERT INTO TableB(id, num) VALUES(??, 1);
END;

我不是真的使用Random,而是我自己的自定义sqlite函数,它本质上做同样的事情,但我需要记住插入TableB的值。我该怎么做?

1 个答案:

答案 0 :(得分:2)

SQLite没有变量这样的东西,但你可以从你刚刚插入第一个表的记录中读取值:

CREATE TRIGGER insertTrigger
AFTER INSERT ON TableAB
BEGIN
    INSERT INTO TableA(id, num) VALUES(RANDOM(), 1);
    INSERT INTO TableB(id, num) SELECT id, 1
                                FROM TableA
                                WHERE rowid = last_insert_rowid();
END;