0
產品(PID,PNAME,pbrand,pprice)
購物車(cartid,CID,活躍,totalprice) ShoppingCart.cid引用Customer.cid
CartItem(cartid,PID,iprice,iquantity) CartItem.cartid引用ShoppingCart.cartid,CartId.pid引用Product.pid
如果噸他在表格產品中的產品價格已更新,它應該先更新包含該產品的所有購物車(CartItem),然後更新相關購物車中計算的總價格。
我能完成的第一部分,我希望第二個任務可以工作像
delimiter //
create trigger update_prodprice after update on product
for each row
begin
update cartitem set iprice=new.pprice where pid=new.pid
and cartid in (select cartid from shoppingcart where active=True);
update shoppingcart set totalprice=sum(cartitem.iprice*cartitem.iquantity)
where active=True and cartid=cartitem.cartid;
end //
delimiter ;
但是第二次更新不能正常工作,因爲
"ERROR 1054 (42S22): Unknown column 'cartitem.cartid' in 'where clause'"