SQLite 在不知道 id 的情况下触发更新同一行?

SQLite trigger Update Of same row without knowing id?

我怎样才能让这样的东西在 SQLite 中工作?我希望它仅适用于已更新的行,因为许多其他行可能共享相同的名字。

CREATE TRIGGER update_directory_fName UPDATE OF fName ON directory 
  BEGIN
    UPDATE directory SET wholeName = (new.fName || lName) WHERE old.id = new.id;
  END;

我知道 id 没有更新,但我不知道如何让它知道我在说哪一行。我也试过仅将 id 引用到 new.id,但这没有帮助。当我更改 fName 时的结果是 wholeName 根本没有改变。它也不会抛出任何错误,所以我认为它不知道要更新什么?

感谢您的帮助!

我相信您在 where Id 字段中添加了一个不存在的别名,因此:


CREATE TRIGGER update_directory_fName UPDATE OF fName ON directory 
  BEGIN
    UPDATE directory SET wholeName = (new.fName || lName) WHERE Id = new.id;
  END; </pre>