使用插入到 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 "))
我希望我的问题很清楚
一些帮助解决语法错误的编辑:
- 在函数名中使用小写
s
(sqldf()
而不是 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
我尝试在 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 "))
我希望我的问题很清楚
一些帮助解决语法错误的编辑:
- 在函数名中使用小写
s
(sqldf()
而不是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