0

テーブルAにこの列「timestamp」があり、すべてのデータを選択したいのですが、先週はRコードですが、「関数(classes、fdef、mtable)のエラー:が見つかりません関数「dbWriteTable」、署名「MySQLConnection」、「data.frame」、「character」の継承されたメソッド、何か助けていただければ幸いです。ありがとうございました。

fun <- function(con, dat.set, tbl.name) {

if (dbExistsTable(con, tbl.name)) {     
BFWeek = dbGetQuery(con, statement=paste("SELECT * FROM A",
"WHERE timestamp < timestampadd(day, -7, now())"))   
dbWriteTable(con, BFWeek, tbl.name, row.names=F, append=T);            

} else { 
dbWriteTable(con, tbl.name, dat.set, row.names=F, append=T); 
  }
} 

fun(conn_table, df, "A")
4

1 に答える 1

0

テーブルの名前は、そのテーブルに書き込むデータフレームの前に付ける必要があります。elseコードの一部では、順序が正しいように見えますが、前にあるif部分では、後の順序が正しいように見えます。BFWeektbl.name

> showMethods("dbWriteTable")
Function: dbWriteTable (package DBI)
conn="MySQLConnection", name="character", value="character"
conn="MySQLConnection", name="character", value="data.frame"

これにより、どのメソッドが使用可能で、どのメソッドが使用できないかがわかります。

于 2012-11-01T00:26:58.713 に答える