我有两张桌子,A& B:
TABLE A
id | name
TABLE B
id | name | fk_idA
我想在表B中创建触发器AFTER INSERT,它使用表A中的最新id更新fk_idA。
一个例子:
TABLE A
id | name
1 | Andrew
2 | David
TABLE B
id | name | fk_idA
1 | Photo1 | 2
答案 0 :(得分:0)
如果ID列是自动递增的,则最新的是最大的,即MAX返回的那个:
CREATE TRIGGER DefaultAIsLatest
AFTER INSERT ON TableB
FOR EACH ROW
WHEN NEW.fk_idA IS NULL
BEGIN
UPDATE TableB
SET fk_idA = (SELECT MAX(id)
FROM TableA)
WHERE id = NEW.id;
END;