2015-02-03 2 views
0

내 데이터베이스에 table(table1)RPostgreSQL - PostgreSQL의 테이블

Column | Type | Modifiers 
--------+---------+----------- 
date1 | date | not null 
line_1 | numeric | default 0 
line_2 | numeric | default 0 
line_3 | numeric | default 0 
line_4 | numeric | default 0 
line_5 | numeric | default 0 

R 콘솔

> line1 <- 32+45 
> line1 
[1] 77 

나는 테이블에이 값을 (1 호선 = 77) 수출합니다 (표 1에 R의 값을 내보내는 방법)을 입력하십시오. 및 날짜 1 열은 현재 날짜에서 1 일을 뺀 날짜로 채워야합니다.

내가 호선 값을 업데이트하는 아래의 명령을했지만, 내가

의 < 오류를 얻고있다

-

오류 ("표 (line_1) 값 (1 호선)에 삽입", 사기꾼) dbGetQuery PostgresqlExecStatement (conn, statement, ...) : RS-DBI 드라이버 : 결과를 가져올 수 없습니다. 오류 : "line1"열이 없습니다. 줄 1 : table1 (line_1) 값 (line1)에 삽입하십시오. ^ ) 경고 메시지 : postgresqlQuickSQL에서 (conn, statement, ...) : 은 표 1에 executeinsert를 만들 수 없습니다 (line_1) 값 (1 호선 ) 내가 여기에 코드의 두 가지 문제가있다 생각

+1

에 오신 것을 환영합니다 :

dbSendQuery(con, paste0("insert into table1 (line_1) values (",line1,")")) 

그리고 당신의 날짜

. 방금 당신을 위해 당신의 질문을 형식화했습니다. 이 일을 스스로하는 법을 배우면 다른 사람이 질문을하면서 시간을 보내 게 될 가능성이 커집니다. 일반적으로, 이것은 me_ 질문에 대한 _please 프로그램처럼 보이며 낙심합니다. –

+0

dbwritetable (RPostgreSQL) 명령으로 시도했지만 ... 작동하지 않았습니다. – Chanti

+0

사실 저는 R 프로그래밍 및 PostgreSQL의 시작입니다. – Chanti

답변

0

-

먼저, 당신은 아마 dbSendQuery를 사용한다() 대신. 이것은 Postgres 서버에 명령을 보내려고하기 때문입니다.

두 번째로, 텍스트를 큰 따옴표로 묶으면 대개 R에이를 텍스트로 해석합니다. 그래서 "table1 (line_1) values ​​(line1)에 삽입"을 할 때 실제로 Postgres에게 "line1"을 "line_1"에 삽입하도록 말합니다. 하나의 값만 추가하려는 경우 여기에 원하는 것은 붙여 넣기 명령입니다.

이 시도 :에 StackOverflow에

date1<-Sys.Date()-1 
dbSendQuery(con, paste0("insert into table1 (date1) values (",date1,")")) 
관련 문제