使用 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);
请帮忙..
在触发器中,可以使用[伪表new
或old
]来引用被修改的行:
UPDATE department
SET employees = employees + 1
WHERE department.department_id = new.department_id;
大家好,我是触发器的新手。我有两个表,我希望在添加一个在部门工作的用户时,特定部门的员工价值增加一个。但是我遇到了一个错误,比如“提交新行时出错:没有这样的列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);
请帮忙..
在触发器中,可以使用[伪表new
或old
]来引用被修改的行:
UPDATE department
SET employees = employees + 1
WHERE department.department_id = new.department_id;