我怎样才能在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根本没有变化。它既不会抛出任何错误,所以我认为它不知道要更新什么?
感谢您的帮助!
答案 0 :(得分:1)
我相信您在不存在的Id字段中添加了别名,因此:
CREATE TRIGGER update_directory_fName UPDATE OF fName ON directory
BEGIN
UPDATE directory SET wholeName = (new.fName || lName) WHERE Id = new.id;
END;