无法使用 Datagrip 提交对表的更改
Posted
技术标签:
【中文标题】无法使用 Datagrip 提交对表的更改【英文标题】:Can't commit changes to table with Datagrip 【发布时间】:2017-01-13 09:50:50 【问题描述】:我使用 Datagrip 2016.3。当我尝试更改表中的值时,我无法将其提交给数据库(Oracle SQL-DB)。
我做了什么: - 将单元格设置为/一些新值 - 按下复选标记图标(“提交”) - 和/或按 CTRL+RETURN - 关闭选项卡 - 重新打开标签 - /new 值消失了,旧值仍然存在。
我在不同的方案(和不同的数据库)上尝试了不同的表。该列可以为空,输入的值是合法的。我可以使用 Oracle SQL Developer 修改这些值。
编辑(20170116):
对于遇到问题后的大多数测试,我尝试更改本地 oracle 安装的标准 HR 架构的 COUNTRY 表。可以使用 SQL Developer 更改同一个表。
【问题讨论】:
请尝试 DataGrip 2016.3.2 并判断它是否被复制 @moscas:是的。很抱歉,但问题仍然存在。 请写信给 maxim.sobolevskiy[at]jetbrains.com,我们将继续讨论那里的示例,好吗? @moscas:你收到我的邮件了吗? 是的,并回答了 【参考方案1】:要提交对数据库的更改,需要执行以下步骤:
-
输入一行或更改一个值(该行标记为绿色)
将更改提交到数据库(带有“DB”的箭头图标)
将该更改提交到数据库(自动提交或右键单击上下文菜单并选择提交(复选标记))
【讨论】:
那是一个很奇怪的界面。选择自动提交实际上并不是“自动”提交。您仍然需要按发送到数据库图标。不是我认为大多数人所期望的。【参考方案2】:除了接受的答案之外,您还可以通过两种方式在最新版本的 DataGrip 中自动提交更改。我在 v2020.2 上,这些是目前更永久的选项:
-
将查询窗口上的 Tx: 设置从
Manual
更改为 Auto
。注意:重启 DataGrip 后,此设置将不会保留。
-
为数据库/数据源永久更改:
按下Data Source Properties
按钮(快捷键Ctrl-Alt-Shift-S
):
选项选项卡 -> 连接部分 -> 事务控制 -> 自动/手动
#2 明显遗漏了我已发布反馈的 DataGrip 官方帮助文档。所以希望他们很快就会在这里添加它:https://www.jetbrains.com/help/datagrip/submitting-and-reverting-changes.html
【讨论】:
以上是关于无法使用 Datagrip 提交对表的更改的主要内容,如果未能解决你的问题,请参考以下文章
从 DataGrip 中的“数据库、表、过程”搜索中排除数据库