对于下面的Query,它给出以下错误
Error Code: 1175. You are using safe update mode and you tried to update a table
without a WHERE that uses a KEY column
To disable safe mode, toggle the option in Preferences -> SQL Editor -> Query Editor
and reconnect.
任何人都能纠正我的错误。
UPDATE delivery p SET p.OrderID =
(
SELECT OrderID from OrderTable o where o.DiagramID=p.DiagramID AND o.DeliveryDate=
(
Select min(o2.DeliveryDate) from OrderTable o2 where o2.DiagramId=o.DiagramID
)
)
where p.OrderID=0;
答案 0 :(得分:0)
问题是,您正在使用MySQL安全模式,这不允许您在不使用where子句中的KEY的情况下运行任何更新。要禁用它,请使用
SET SQL_SAFE_UPDATES=0;
在运行查询之前