在AWS Redshift,sql workbench中手动将数据插入表中

时间:2018-01-17 07:16:29

标签: amazon-redshift sql-workbench-j

enter image description here 我能够从SQL工作台连接到redshift,我能够创建一个表,但是当我尝试在表中插入值时,它会抛出以下错误。

enter image description here

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

2 个答案:

答案 0 :(得分:1)

Postgres(以及基于Redgres的古代版本的Redshift)具有非常严格的事务处理概念:要么所有语句都起作用,要么不起作用。

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

因此,您所要做的就是发出ROLLBACK命令,您可以继续。无需重新启动SQL Workbench / J。

如果您不想为每个引发错误的语句执行此操作,只需在连接配置文件中启用自动提交即可:

  

7.3.5。自动提交

     

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

     

Link to manual

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

答案 1 :(得分:0)

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

  1. 断开工作台与数据源的连接
  2. 重新启动工作台
  3. 重新连接到您的数据源。
  4. 你可以从这里恢复。