猿问

MySQL错误代码:在MySQLWorkbench中更新期间的1175

MySQL错误代码:在MySQLWorkbench中更新期间的1175

我正在更新列visited为了给它值1,我使用MySQL工作台,并在工作台内部的SQL编辑器中编写语句。我正在编写以下命令:

UPDATE tablename SET columnname=1;

它给出了以下错误:

您正在使用安全更新模式,并且尝试更新一个表,但没有使用键列禁用安全模式的位置,切换选项.

我按照指示,不检查safe update选项从Edit然后菜单Preferences然后SQL Editor..同样的错误仍然出现&我无法更新这个值。拜托,告诉我怎么了?


倚天杖
浏览 1090回答 3
3回答

翻过高山走不出你

看起来,MySQL会话的安全更新选项准备好了。这意味着,如果不指定键(例如),就不能更新或删除记录。primary key)在WHERE子句中。试着:SET SQL_SAFE_UPDATES = 0;或者您可以修改查询以遵循规则(使用primary key在……里面where clause).

大话西游666

在执行UPDATE命令之前,请遵循以下步骤:在MySQL工作台中去Edit --> Preferences点击"SQL Editor"标签和uncheck“安全更新”check boxQuery --> Reconnect to Server/注销,然后登录现在执行SQL查询。不需要重新启动MySQL守护进程!

皈依舞

不需要将SQL_SAFE_UPDATE设置为0,我真的不鼓励它那样做。在默认情况下,安全更新是有原因的。如果你知道我的意思,你可以驾驶一辆没有安全带和其他东西的汽车;)只需在WHERE子句中添加一个键值,与0相比,与主键匹配的所有东西都匹配,所以不要写:UPDATE&nbsp;customers&nbsp;SET&nbsp;countryCode&nbsp;=&nbsp;'USA' &nbsp;&nbsp;&nbsp;&nbsp;WHERE&nbsp;country&nbsp;=&nbsp;'USA';&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;--&nbsp;which&nbsp;gives&nbsp;the&nbsp;error,&nbsp;you&nbsp;just&nbsp;write:UPDATE&nbsp;customers&nbsp;SET&nbsp;countryCode&nbsp;=&nbsp;'USA' &nbsp;&nbsp;&nbsp;&nbsp;WHERE&nbsp;(country&nbsp;=&nbsp;'USA'&nbsp;AND&nbsp;customerNumber&nbsp;<>&nbsp;0);&nbsp;--&nbsp;Because&nbsp;customerNumber&nbsp;is&nbsp;a&nbsp;primary&nbsp;key&nbsp;you&nbsp;got&nbsp;no&nbsp;error&nbsp;1175&nbsp;any&nbsp;more.现在您可以放心,每条记录都(总是)按照您的预期进行更新。
随时随地看视频慕课网APP
我要回答