【问题标题】:Update statement makes Datagrip complain about missing WHERE clause更新语句使 Datagrip 抱怨缺少 WHERE 子句
【发布时间】:2021-10-06 13:18:55
【问题描述】:

我正在使用数据库,并且正在生成随机数据来测试我的前端。每次我希望以某种方式设置每一行时,我都会写

UPDATE medley
SET option = true

此时,Datagrip 抱怨缺少 WHERE 子句,警告我我的查询将更新整个表。但这就是我想要的! 有没有像WHERE any 这样我可以使用的通用 WHERE 子句?

现在我已经添加了一个 ID,以便我可以WHERE id >= 0,但我很好奇是否还有其他选择。

【问题讨论】:

    标签: postgresql datagrip


    【解决方案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】:

      运行此类查询后,有ExecuteExecute and supress

      选项

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-10-31
        • 2018-06-25
        • 1970-01-01
        • 1970-01-01
        • 2016-03-03
        相关资源
        最近更新 更多