我有一个触发器,我想将相同的随机值插入到两个表中。我该怎么做?
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的值。我该怎么做?
答案 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;