我正在尝试使用SQL工作台使用以下命令在redshift DB中创建表。
CREATE TABLE test_table (columnone varchar, columntwo varchar,
columnthree varchar,columnfour varchar,columnfive varchar,columnsix
varchar,columnseven varchar,columneight varchar);
成功创建。
我验证了该表是从以下行创建的。并看到表存在,table_type是BASE TABLE
SELECT * FROM information_schema.tables WHERE table_schema = 'public';
我能够将数据插入表中。
INSERT INTO test_table VALUES ('123456', '123456',
'123456','123456', '123456','123456','123456','123456');
成功完成行插入
之后我执行了查询
Select * from test_table
我也可以看到这个结果
但是在5到10分钟后,表格被删除。
我通过执行以下行检查了该表在DB中不可用
SELECT * FROM information_schema.tables WHERE table_schema = 'public';
我用谷歌搜索了它,却找不到任何东西。我是redshift的新手,SQL在创建表时我做了任何错误。之前的其他人在此数据库中创建的表仍然可用。我还检查了之前创建表格的人无法弄清问题是什么
答案 0 :(得分:1)
根据Jon Scott的评论,我尝试使用commit命令,然后我也能在很长一段时间后看到该表。该表现在不会被删除。
commit;
这是我在立即创建表后执行的命令。
此外,经历过这一点,我们必须在对表执行任何操作后执行此提交,否则数据不会更改。
另外,在浏览SQL workbench连接窗口后,我看到了另一个选项。 Autocommit有一个复选框。如果我们选中复选框,那么我们不需要每次都执行commit命令