0
我嘗試更新使用INNER JOIN
像這樣的表(dummy.ID
設置主鍵):MySQL的sql_safe_update恆定誤差
UPDATE dummy
INNER JOIN original
ON dummy.FirstName =original.FirstName
AND dummy.LastName = original.LastName
SET dummy.col1 = original.col1
WHERE dummy.ID <> 0;
有SQL_SAFE_UPDATE
激活,而不是被alowed以任何方式來禁用它,因爲上述聲明我得到着名的錯誤:You are using safe update mode and you tried to update a table without a WHERE that uses a KEY column
。
我試過WHERE KEY IN (,)
,WHERE KEY NOT NULL
,以及其他很多實現WHERE
子句的方法,但是所有的東西都失敗了,出現了同樣的錯誤。它工作的唯一方法是使用WHERE dummy.ID = 1
,但是這當然只更新一行。
難道是因爲我用了JOIN
?有沒有辦法在不禁用sql_safe_update
的情況下執行此更新?
那麼'ID'列是關鍵嗎? –
是的,在我的帖子中說,它是 – MRM