0

在此处输入图像描述 我能够从 SQL 工作台连接到 redshift,并且能够创建一个表,但是当我尝试将值插入到表中时,它会抛出以下错误。

在此处输入图像描述

由于我使用的是临时模式并且连接将模式显示为公共的,即使我的插入语句是插入到 tempschema.temp_staging 值中,这仍然是一个问题吗

4

2 回答 2

1

Postgres(以及基于旧版 Postgres 的 Redshift)有一个非常严格的事务概念:要么所有语句都有效,要么没有。

一旦事务中的一条语句失败,就需要回滚整个事务。

所以你需要做的就是发出一个ROLLBACK命令,然后你就可以继续了。无需重新启动 SQL Workbench/J。

如果您不想对每个引发错误的语句都这样做,只需在连接配置文件中启用自动提交:

7.3.5。自动提交

此复选框启用/禁用连接的“自动提交”属性。如果启用了自动提交,那么每个 SQL 语句都会在 DBMS 上自动提交。如果禁用此功能,则必须提交任何 DML 语句(UPDATE、INSERT、DELETE...)以使更改永久化。一些 DBMS 也需要提交 DDL 语句(CREATE TABLE,...)。请参阅您的 DBMS 的文档。

链接到手册

我是 SQL Workbench/J 支持的一部分

于 2018-09-20T18:14:05.380 回答
0

这只是一个临时获得的锁。

  1. 断开工作台与数据源的连接
  2. 重新启动工作台
  3. 重新连接到您的数据源。

您将能够从这里恢复。

于 2018-01-17T09:42:14.910 回答