我有一个表,我想用另一个表中的值来更新它,我使用了以下代码:
UPDATE TableA
SET Value = (
SELECT TableB.Value2
FROM TableB
WHERE TableA.id=TableB.ta_id
);尽管TableA.id是tableA的主键,但我仍然收到以下错误:
错误代码: 1175。您正在使用安全更新模式,并且您试图更新没有使用键列禁用安全模式的表,请在首选项-> SQL编辑器中切换该选项,然后重新连接。
我做错了什么?
发布于 2016-03-11 05:10:16
问题是您没有在主查询中使用Where语句。在你的情况下,它会修改你所有的table.If这是你想要做的,你可以停用mysql的安全模式,或者执行一个总是正确的条件,比如
UPDATE TableA,TableB
SET TableA.Value = TableB.Value2
WHERE TableA.id = TableB.ta_id;https://stackoverflow.com/questions/35927222
复制相似问题