如何解决当我执行SQL请求时出现错误
| 我有一个我无法执行的SQL请求,出现此错误: 要禁用安全模式,请在首选项-> SQL编辑器->查询编辑器中切换选项,然后重新连接。 您正在使用安全更新模式,并且试图在没有使用KEY列的WHERE的情况下更新表 我的请求:update customfieldvalue
set stringvalue=\"****\"
where customfieldvalue.customfield IN
(select customfield.id
from customfield
where customfield.cfname=\"Resoltion\"
and customfieldvalue.issue=12345);
我如何解决此问题,因为在生产环境中我无法执行此操作?
PS:我正在使用mysql
解决方法
要仅针对当前会话运行禁用它:
SET SQL_SAFE_UPDATES=0;
, 要解决此问题:
禁用安全模式:
切换“首选项”->“ SQL编辑器”->“查询编辑器”中的选项,然后重新连接。
原因:
您正在使用安全更新模式,并且试图在没有使用KEY列的WHERE的情况下更新表
(您读过消息吗?它解释了所有内容)
, 如果您无法关闭生产环境中的安全更新,则需要对查询进行重新处理以使ѭ2key中至少包含一个关键列。没有它,您将执行表扫描。使用键列#1,您可能会得到逻辑等效项((3ѭ),但这将满足安全更新约束。
, SET SQL_SAFE_UPDATES=0;
update customfieldvalue
set stringvalue=\"****\"
where customfieldvalue.customfield IN
(select customfield.id
from customfield
where customfield.cfname=\"Resoltion\"
and customfieldvalue.issue=12345);
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。