更新两个表 - 错误 - 'where clause' 中的未知列 'product_varities.product_varities_id'

Update Two Tables -error - Unknown column 'product_varities.product_varities_id' in 'where clause'

我正在尝试更新两个 table,从一个 table 获取数据并更新第二个 table。但是我不断收到错误消息:

1054 - Unknown column exception in MySQL.

Orderlines
orderlinesid
quantity
product_varities_id (fk)

Product Varities
product_varities_id (pk)
quantity

存储过程:

BEGIN
DECLARE quantityToAddBack int(5);

select orderlines.quantity from orderlines where orderlines.order_id = iorderid AND product_varities.product_varities_id = iproductvaritiesid into quantityToAddBack;
-- do update FIRST
UPDATE orderlines set orderlines.`status_id` = 2
WHERE orderlines.order_id = iorderid AND orderlines.product_varities_id = iproductvaritiesid;

-- then update quantity
update product_varities set product_varities.quantity = product_varities.quantity + quantityToAddBack
WHERE product_varities.product_varities_id = iproductvaritiesid;

END

我不明白我做错了什么,我正在执行两个语句,因为根据我对这里的研究,我发现你不能一次更新两个 table。

从给定的描述看来,iorderidiproductvaritiesid 是过程的输入值。

所以过程中的查询应该是

select 
ol.quantity into quantityToAddBack
from orderlines ol
join product_varities pv on pv.product_varities_id = ol.product_varities_id
where ol.order_id = iorderid ;

-- do update FIRST
UPDATE orderlines set `status_id` = 2
WHERE order_id = iorderid 
AND product_varities_id = iproductvaritiesid;


-- then update quantity
update 
product_varities 
set quantity = quantity + quantityToAddBack
WHERE product_varities_id = iproductvaritiesid;