【发布时间】:2022-01-04 15:41:16
【问题描述】:
所以我想要做的是,如果我在“angajati”(员工)表中添加一行,我希望该员工的 id 也出现在“ospatari”(服务员)表中。 “ospatari”表只有一个属性,id,并且ospatari.id和angajati.id之间有一个外键约束。
delimiter //
CREATE TRIGGER InsertOspatar BEFORE INSERT ON angajati
FOR EACH ROW
BEGIN
IF (SELECT rol FROM Inserted) = "Ospatar"
THEN
INSERT INTO ospatari VALUES(Inserted.id);
END IF;
END//
虽然这段代码没有给我任何错误,但一旦我在“angajati”中插入一行,具有相同 id 的行就不会出现在“ospatari”中。
非常感谢您的帮助, 谢谢!
【问题讨论】:
-
您使用的是 Microsoft SQL Server 还是 MySQL?
Inserted伪表是 Microsoft 的一项功能,但在 MySQL 中您将使用NEW.rol。阅读dev.mysql.com/doc/refman/8.0/en/trigger-syntax.html
标签: mysql sql triggers sql-insert