在删除不同表中的行之后,Sqlite触发器更新一个表中的行

时间:2014-08-20 23:43:59

标签: android sqlite

在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)

1 个答案:

答案 0 :(得分:1)

UPDATE语句中没有名为TABLE_B的表。

documentation说:

  

WHEN子句和触发器操作都可以使用“NEW。 column-name ”和“OLD。”列的引用来访问要插入,删除或更新的行的元素-name “,其中column-name是与触发器关联的表中列的名称。

TABLE_B.id替换为OLD.id