2017-05-19 10 views
0

RPostgreSQLパッケージを使用して実行したことは、dbWriteTable(... overwrite = TRUE)は既存のテーブル構造(データ型と制約)を破棄してしまい、dbRemoveTable表。構造体を変更せずにRPostgreSQLを使用してテーブルにデータを書き込む

だから私は使用してきました:

ltvTable <- "the_table_to_use" 
dfLTV <- dataframe(x,y,z) 
sql_truncate <- paste("TRUNCATE ", ltvTable) ##unconditional DELETE FROM… 
res <- dbSendQuery(conn=con, statement=sql_truncate) 
dbWriteTable(conn=con, name=ltvTable, value=dfLTV, row.names=FALSE, append=TRUE) 

が必要TRUNCATEステップである、あるいは単にコンテンツではない構造を上書きdbWriteTable方法はありますか?

回答が Manura OmalHow we can write data to a postgres DB table using R?の回答と異なる動作をします。なぜなら、overwrite = TRUEは最初に切り捨てられないようです。

私は以下を使用しています:RPostgreSQL 0.4-1; PostgreSQLの9.4

最高の願い - 私の知る限り、上書き知っているようにJS

答えて

0

= Tは3つの事を行います。

  • はテーブル
  • がテーブル
  • が新しいデータでテーブルを埋め作成、削除

構造を保存したい場合は、Truncateステップが必要です。 DROP表のステップを妨げる外部キーの存在または非存在によって、異なる動作が発生する可能性があります。

関連する問題