【发布时间】:2013-11-06 18:39:18
【问题描述】:
create trigger nuevaVenta
after insert on Compra
if new.idProducto = Productos_Farmaceuticos.idProducto
set Productos_Farmaceuticos.inventario = Productos_Farmaceuticos.invetario - new.cantProducto;
我正在尝试在完成新的销售后更新库存件数,这是我的表格:
Paciente: idPaciente, nombre
Compra: idProducto, idPaciente, fecha, cantProduct
Productos_Farmaceuticos: idProducto, nombreProduct, precioProduct, puntoReorden, inventario
这是一个没有显示语法错误的更新:
delimiter //
create trigger nuevaVenta
after insert on medapp.Compra
for each row
begin
if new.idProducto = Productos_Farmaceuticos.idProducto then
update medapp.Productos_Farmaceuticos
set Productos_Farmaceuticos.inventario =
Productos_Farmaceuticos.invetario - new.cantProduct;
end if;
end; //
delimiter ;
但当我尝试在 Compra 中插入内容时,它现在显示“错误代码 1109:字段列表中的未知表 'Productos_Farmaceuticos'”
【问题讨论】:
-
它只是说“Compra 附近的 SQL 语法错误...”
-
你有两次
on compra。尝试删除第一个。见这里:dev.mysql.com/doc/refman/5.0/en/trigger-syntax.html -
改变了,现在错误是“'if new.idProducto...'附近的SQL语法”
-
执行 select * from Productos_Farmaceuticos 如果您遇到同样的错误。这可能是区分大小写的问题。
-
它显示“select * from Productos_Farmaceuticos”没有错误
标签: mysql sql triggers mysql-workbench