MySql中的错误#1109

时间:2016-11-22 20:28:51

标签: mysql

这是我的触发器。

我想在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

1 个答案:

答案 0 :(得分:0)

我认为您可能需要为SELECT子句使用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;