当我使用这个查询时,一切都很好:
UPDATE users
SET f_name='Mike',
l_name='MyLastName',
username='blabla',
"password"='asdfsdaf',
"class"=12,
lang='en'
WHERE id=50;
Run Code Online (Sandbox Code Playgroud)
我创建了一个结合了两个表的视图:
CREATE OR REPLACE VIEW students_data AS
SELECT students.id,
users.f_name,
users.l_name,
users.username,
users."password",
users."class",
users.permission,
users.sessionid,
users.lastlogin,
users.lang
FROM students
LEFT JOIN users ON students.id = users.id;
Run Code Online (Sandbox Code Playgroud)
我还创建了这个规则:
CREATE OR REPLACE RULE students_data_update AS
ON UPDATE TO students_data DO INSTEAD
UPDATE users
SET f_name = new.f_name,
l_name = new.l_name,
username = new.username,
"password" = new."password",
"class" = new."class",
permission = new.permission,
sessionid = new.sessionid,
lastlogin = new.lastlogin,
lang …
Run Code Online (Sandbox Code Playgroud)