sqlite3引发了与OLD和NEW的混淆

时间:2017-02-08 10:20:27

标签: triggers sqlite

OLD.id,NEW.id和sqlite3触发器中的id之间有什么区别?

请帮助我,这有一些解释,从未解释过新旧做什么

1 个答案:

答案 0 :(得分:0)

documentation说:

  

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

单独的

id可以在SELECT / INSERT / UPDATE / DELETE语句中使用,并引用该语句中使用的其中一个表中的列。

通常,您可以使用OLD或NEW来查找实际表中的行:

CREATE TRIGGER ...
BEGIN
    UPDATE MyTable SET UpdateTime = time('now') WHERE id = NEW.id;
END;