存储过程mysql的安全更新错误

时间:2017-05-13 15:03:59

标签: mysql sql database stored-procedures

我尝试使用此代码更新表格:

CREATE DEFINER=`root`@`localhost` PROCEDURE `refresh_stock`(id_product int)
BEGIN

update stock s inner join replacement r on r.product = s.product 
set s.quantity = if (s.quantity = 0, r.quantity, s.quantity+r.quantity), s.refresh_date = now()
where s.product = id_product and r.product=id_product and r.date_replacement > s.refresh_date;
END

基本上,我每次都要更新库存中的一些商品。我买新产品。问题是,这个程序工作了两次,然后它停止工作并且它给了我这个错误:错误代码:1175。您正在使用安全更新模式并且您尝试更新没有WHERE的表使用KEY列要禁用安全模式,请在Preferences - >中切换选项。 SQL编辑器并重新连接。

我试图传递参数库存ID,但它给出了我上面相同的错误。如何解决此问题没有禁用安全更新?

0 个答案:

没有答案