【问题标题】:datagrip Cannot apply changes This table is read only. Cell editor changes cannot be applieddatagrip 无法应用更改 此表是只读的。无法应用单元格编辑器更改
【发布时间】:2015-12-19 00:07:28
【问题描述】:

所以当我想编辑选定的行然后应用它时,就会出现问题。我确定它在前一段时间有效。尝试在首选项中重新下载 postgres 驱动程序(是的,我使用 postgres)有人遇到同样的问题吗?有人成功了吗?

PS。在 142.4861.1 上运行。

我在连接首选项中发现只读复选框,它没有设置,切换没有帮助,升级,重置也没有帮助。

【问题讨论】:

  • 真正有用的是在控制台中切换自动提交复选框,之后一切运行完美。

标签: postgresql datagrip


【解决方案1】:

在我的情况下,在 DataGrip 的 2020.1 版本中(SQL 是从打开的文件中运行的,在唯一的表上,因此选择按预期工作,但是当我尝试编辑时 - 出现错误:unresolved table reference):在请求中指定方案有帮助。因此 SELECT * FROM users; 更改为 SELECT * FROM schemadb.users; 并有所帮助。可能有一个错误。上面提到的所有方法我都试过了。

【讨论】:

  • 谢谢。我要补充一点,您也可以简单地重新同步架构(如果您在“架构”选项卡下的“数据源”属性中定义了架构范围)。那是为我做的。
【解决方案2】:

真正有帮助的是在控制台中切换自动提交复选框,之后一切运行完美。

【讨论】:

  • 很高兴听到我不是唯一遇到此问题的人
  • 太令人沮丧了。我仍然坚持这一点,这些建议的修复都没有奏效
  • 请检查您的连接设置是否没有打开只读复选框?
  • 重新启动应用程序对我来说是修复它的原因。无需更改。
【解决方案3】:

尝试同步数据库连接。它帮助我建立了 mysql 连接。

【讨论】:

  • 这对我有用。这是怎么回事,为什么会起作用?
【解决方案4】:

在数据源属性中设置和清除只读对我有帮助。

【讨论】:

    【解决方案5】:

    在多次尝试上述所有方法之后,唯一真正对我有用的是删除每个数据库连接并从头开始重新创建一个新连接。

    【讨论】:

    • 是的,只有这件事成功了!谢谢你。对于 BrainStorm 的 datagrip 团队来说,这是一个多么可耻的错误。
    【解决方案6】:

    对我有用的是删除字段别名 - 从此开始:

    SELECT
      l.MSKU Item_SKU,
      l.Supplier,
      l.ASIN,
      l.title,
      l.Buy_Price
    FROM listings l
    WHERE l.Buy_Price IS NULL
    ORDER BY l.Supplier, l.listingID desc;
    

    到这里:

       SELECT
      l.MSKU,
      l.Supplier,
      l.ASIN,
      l.title,
      l.Buy_Price
    FROM listings l
    WHERE l.Buy_Price IS NULL
    ORDER BY l.Supplier, l.listingID desc;
    

    我只需要编辑查询结果就可以了

    【讨论】:

      【解决方案7】:

      如果您的查询使用字段别名(重命名列而不是使用实际列名),则 Datagrip 将数据结果设置为只读。

      解决方案: 使用表中的字段名称重写查询并重新运行查询。然后您就可以编辑这些行了。

      示例

      重写这个:

      select id,interest_recalcualated_on, interest_recalculation_enabled alias from m_loan;
      

      ..到这个:

      select id,interest_recalcualated_on, interest_recalculation_enabled from m_loan;
      

      【讨论】:

      • 这根本不是用户的错。由datagrip来改进它。 SQLyog 在早期版本中甚至完美无缺。
      【解决方案8】:

      这可能是由于默认设置,请确保您的交易模式设置如下

      【讨论】:

      • 我不得不将数据库属性中的事务模式从“自动”更改为“手动”。
      【解决方案9】:

      没有任何效果。我不得不将 DataGrip 从 2017.2 更新到 2018.3

      我必须通过导航到以下位置打开项目:/home/user/.DataGrip2017.2/config/projects/my_project/

      这个项目的所有脚本,因为我不想从旧版本的 Datagrip 导入配置。所以我可能需要降级,获取脚本并再次升级。

      【讨论】:

        【解决方案10】:

        我遇到了同样的问题,不是 Postgres,而是 MySql,PhpStorm 2019.1,当我在同一个数据库连接和我的查询上有两个可用架构时:select * from users where full_name like '%handy%'; 导致即使控制台报告了一个无法编辑的结果表它正在查询stage 架构。更具体的查询:select * from stage.users where full_name like '%handy%'; 使用准确的表名会生成一个可以内联编辑的结果表。

        【讨论】:

          【解决方案11】:

          我能够解决此问题的唯一方法是删除给定连接的数据库连接详细信息并从头开始重新创建它们。虽然我在这个特定连接上发生了这种情况,但在其他连接上编辑工作正常,这表明问题可能与相关连接周围的特定参数有关。

          【讨论】:

            【解决方案12】:

            对我来说,当我将 Select 查询更改回 *(用于选择所有列的通配符)时,从特定列中,编辑和保存又开始工作了。这很奇怪!可能值得向 intellij 报告错误。我在 macOS Catalina 10.15.3 上使用 DataGrip 2020.1

            【讨论】:

              【解决方案13】:

              我以为我遇到了同样的问题,但我意识到我需要提交更改(使用按钮或命令 + 回车)才能应用它们。

              这个答案已经晚了 4 年。也许这个错误已经修复了哈哈,但这可能对其他人有帮助。

              【讨论】:

                【解决方案14】:

                试试这个

                1. 在 IDE 设置 (Ctrl+Alt+S) 中,转到数据库 |一般。

                2. 选中在新选项卡中打开结果复选框并单击确定。

                3. 重新运行查询,您将能够在新选项卡中编辑和提交更改。

                【讨论】:

                  猜你喜欢
                  • 1970-01-01
                  • 2013-06-23
                  • 1970-01-01
                  • 1970-01-01
                  • 2016-06-27
                  • 2016-03-20
                  • 2019-07-28
                  • 2017-08-16
                  • 1970-01-01
                  相关资源
                  最近更新 更多