在android中使用触发器,我试图在表A中删除一行时,根据匹配的行id(id)更新表A中的值:
CREATE TRIGGER update_card_on_delete AFTER DELETE ON TABLE_B
BEGIN
UPDATE TABLE_A set card= "-1" where TABLE_B.id = TABLE_A.id;
END;
但在执行时它会给我错误:
android.database.sqlite.SQLiteException: no such column: TABLE_B.id (code 1)
答案 0 :(得分:1)
UPDATE语句中没有名为TABLE_B
的表。
WHEN子句和触发器操作都可以使用“NEW。 column-name ”和“OLD。”列的引用来访问要插入,删除或更新的行的元素-name “,其中column-name是与触发器关联的表中列的名称。
将TABLE_B.id
替换为OLD.id
。