使用 SQLite 触发器增加值的问题

Problem using SQLite Trigger to increment a value

大家好,我是触发器的新手。我有两个表,我希望在添加一个在部门工作的用户时,特定部门的员工价值增加一个。但是我遇到了一个错误,比如“提交新行时出错:没有这样的列user.department_id。

CREATE TABLE department (
   department_id   INTEGER PRIMARY KEY,
   department_name TEXT    NOT NULL,
   employees       INTEGER NOT NULL
);

CREATE TABLE user (
user_id       INTEGER PRIMARY KEY,
user_name     TEXT    NOT NULL,
department_id INTEGER NOT NULL,
FOREIGN KEY (
    department_id
)
REFERENCES department (department_id) 

);

CREATE TRIGGER inputUser
     AFTER INSERT
        ON user
BEGIN
    UPDATE department
       SET employees = employees + 1
     WHERE department.department_id = user.department_id;
END;

INSERT INTO user(user_id, user_name, department_id) VALUES(1, "Testuser", 1);

请帮忙..

在触发器中,可以使用[伪表newold]来引用被修改的行:

UPDATE department
   SET employees = employees + 1
WHERE department.department_id = new.department_id;

这里是demo on DB Fiddle.