使用插入到 R

Using insert into with R

我尝试在 R 中使用 insert into sql 语法在数据框中插入行,但显示以下错误:

(( error in sentax ))

下面是我的代码示例:

Vector <- c("alex" ,"IT")
Tst <- data.frame( name.charcher(), major.charachter())
sqldf( c(" insert into Tst values (" , Vector[1] , "," ,Vector[2] , ")" , "select * from main.Tst "))

我希望我的问题很清楚

一些帮助解决语法错误的编辑:

  • 在函数名中使用小写 ssqldf() 而不是 Sqldf()
  • ","Vector[2]之间加一个逗号
  • select * from main.Tst
  • 周围添加引号

另外,要注意:

  • Vector <- c("alex", 32) 中异构内容类型的一维数据结构应该是一个列表(而不是所有内容都属于同一类型的原子向量)。
  • 根据您使用的数据库驱动程序,如果您尝试将值插入代码中的空 R 数据框,sqldf() 可能会 return 出错。在 sqldf() 调用中创建空数据框是避免这种情况的一种方法(在不知道您的数据库信息的情况下在下面使用)。

例如,您可以使用以下方法解决收到的错误消息:

library(sqldf)
new <- list(name='alex', age=as.integer(32)) 
Tst <- sqldf(c("create table T1 (name char, age int)",
               paste0("insert into T1 (name, age) values ('", new$name[1],"',", new$age[1],")",sep=''),
               "select * from T1"))
Tst
# > Tst
#   name age
# 1 alex  32