首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >忽略Vertica插入

忽略Vertica插入
EN

Stack Overflow用户
提问于 2015-02-07 17:48:33
回答 2查看 859关注 0票数 1

我试图在vertica表中做一个非常简单的INSERT,但是它不起作用:我的数据被默默地忽略了。

代码语言:javascript
复制
$ LC_ALL=C /opt/vertica/bin/vsql db user -w *** -c "SELECT * FROM footable"
         lastFetch         | ApiPath | response 
---------------------------+---------+----------
 2015-02-07 18:41:42.26069 | a1      | b1
(1 row)

$ LC_ALL=C /opt/vertica/bin/vsql db user -w *** -c "INSERT INTO footable (lastFetch, ApiPath, response) VALUES ('2015-02-07 18:19:32.435001', 'a2', 'b2')"
 OUTPUT 
--------
      1
(1 row)

$ LC_ALL=C /opt/vertica/bin/vsql db user -w *** -c "SELECT * FROM footable"
         lastFetch         | ApiPath | response 
---------------------------+---------+----------
 2015-02-07 18:41:42.26069 | a1      | b1
(1 row)

知道会出什么问题吗?

我和vertica-python试过了,结果一样。我也尝试使用NOW()而不是'2015-02-07 18:19:32.435001'

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-02-07 19:13:03

默认情况下,AUTOCOMMIT为off:

代码语言:javascript
复制
$ vsql -c "\set"
VERSION = 'vsql'
AUTOCOMMIT = 'off'
...

或者提交您的更改或定义AUTOCOMMT=ON。在我看来,第二种选择更好:

代码语言:javascript
复制
$ vsql -v AUTOCOMMIT=on -c "\set"
VERSION = 'vsql'
AUTOCOMMIT = 'on'
...

或者将commit放在INSERT语句之后:

代码语言:javascript
复制
$ vsql  -c "INSER INTO whatever VALUES (...); commit;"
票数 4
EN

Stack Overflow用户

发布于 2015-02-07 19:48:05

找到它后,我需要在一批COMMIT命令之后添加INSERT。见https://my.vertica.com/docs/7.1.x/HTML/index.htm#Authoring/ConnectingToHPVertica/vsql/AUTOCOMMIT.htm

只有在需要时才使用一个COMMIT似乎比在每次插入后触发提交的AUTOCOMMIT要好。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28385386

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档