我能够从SQL工作台连接到redshift,我能够创建一个表,但是当我尝试在表中插入值时,它会抛出以下错误。
由于我使用临时模式并且连接将模式显示为公共,因此即使我的insert语句是,这仍然是一个问题 插入tempschema.temp_staging值
答案 0 :(得分:1)
Postgres(以及基于Redgres的古代版本的Redshift)具有非常严格的事务处理概念:要么所有语句都起作用,要么不起作用。
一旦事务中的一条语句失败,就需要回滚整个事务。
因此,您所要做的就是发出ROLLBACK
命令,您可以继续。无需重新启动SQL Workbench / J。
如果您不想为每个引发错误的语句执行此操作,只需在连接配置文件中启用自动提交即可:
7.3.5。自动提交
此复选框启用/禁用连接的“自动提交”属性。如果启用了自动提交,则每个SQL语句都会在DBMS上自动提交。如果禁用此选项,则必须提交任何DML语句(UPDATE,INSERT,DELETE等),以使更改永久生效。一些DBMS也需要提交DDL语句(CREATE TABLE,...)。请参阅您的DBMS文档。
我是SQL Workbench / J支持的一部分
答案 1 :(得分:0)
它只是一个临时获得的锁。
你可以从这里恢复。