为什么我的触发器中有这个错误? MySQL

Why I have this error in my trigger? MySQL

我正在创建一个 MySQL 数据库,我想创建一个触发器来更改销售后可用的库存量,但我收到一个错误

这是触发器的代码

DROP TRIGGER IF EXISTS tr_inventario;
CREATE TRIGGER tr_inventario AFTER INSERT ON factura FOR EACH ROW
    UPDATE producto INNER JOIN factura ON producto.IdProducto=factura.IdProducto
    SET producto.Invenatario=producto.Invenatario-factura.Cantidad 
    WHERE producto.IdProducto=factura.IdProducto;

这是我要执行的 INSERT

INSERT INTO factura(FechaVenta, NombreCliente, IdProducto, IdEmpleado, Cantidad) VALUES (now(), 'María Guadalupe',3, 2, 2);

这是我得到的错误

Error Code: 1048. Column 'Invenatario' cannot be null

relational table

你不需要 JOIN:

DELIMITER $$

CREATE TRIGGER tr_inventario AFTER INSERT ON factura FOR EACH ROW
BEGIN
    UPDATE producto p
        SET p.Invenatario = p.Invenatario - new.Cantidad 
    WHERE p.IdProducto = new.IdProducto;
END;