这是我的触发器。

我想在1张桌子(rezervare)上触发。

Trigger

DELIMITER //
CREATE TRIGGER verificare_nr_locuri
BEFORE INSERT ON Rezervare
FOR EACH ROW
BEGIN
    IF ( SELECT Masa.NrLocuri FROM Rezervare, Masa
    WHERE Masa.NumarMasa = Rezervare.NumarMasa ) < Rezervare.NumarPersoane THEN
        SET NEW.NumarMasa = NULL;
    END IF;
END //
DELIMITER ;

INSERT INTO Rezervare VALUES (123,106,2,'2016-12-11','2016-12-24',5);
INSERT INTO Rezervare VALUES (124,106,2,'2016-12-11','2016-12-24',4);


执行触发器时,它已创建。但是,当我将数据插入表rezervare时,它变成

#1109 - Unknown table 'rezervare' in field list.


我该如何解决?

Table

最佳答案

我认为您可能需要对JOIN子句使用JOIN。

BEGIN
IF (SELECT Masa.NrLocuri, Rezervare.NumarMasa FROM Masa JOIN Rezervare
WHERE Masa.NumarMasa = Rezervare.NumarMasa) < Rezervare.NumarPersoane THEN
    SET NEW.NumarMasa = NULL;
END IF;

关于mysql - MySql中的错误#1109,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40751024/

10-10 16:51