更新语句使 Datagrip 抱怨缺少 WHERE 子句
Posted
技术标签:
【中文标题】更新语句使 Datagrip 抱怨缺少 WHERE 子句【英文标题】:Update statement makes Datagrip complain about missing WHERE clause 【发布时间】:2021-10-06 13:18:55 【问题描述】:我正在使用数据库,并且正在生成随机数据来测试我的前端。每次我希望以某种方式设置每一行时,我都会写
UPDATE medley
SET option = true
此时,Datagrip 抱怨缺少 WHERE 子句,警告我我的查询将更新整个表。但这就是我想要的!
有没有像WHERE any
这样我可以使用的通用 WHERE 子句?
现在我已经添加了一个 ID,以便我可以WHERE id >= 0
,但我很好奇是否还有其他选择。
【问题讨论】:
【参考方案1】:在 DataGrip 中,您需要更改一项设置。 它会阻止您运行这些查询,并提前向您显示警告。
Unsafe query: Update statement without where clause updates all table rows
您将收到错误:错误代码:1175,因为您使用的是安全模式。
禁用安全模式:
toggle the option in Preferences -> SQL Editor and reconnect
【讨论】:
【参考方案2】:您可以添加一个始终为真的 where 子句:
UPDATE medley
SET option = true
WHERE true;
【讨论】:
非常有用!但另一个答案更重要【参考方案3】:运行此类查询后,有Execute和Execute and supress
选项【讨论】:
以上是关于更新语句使 Datagrip 抱怨缺少 WHERE 子句的主要内容,如果未能解决你的问题,请参考以下文章
DataGrip Snowflake 连接器中缺少“身份验证器”