Error: Cannot pass NA to dbQuoteIdentifier()
Run Code Online (Sandbox Code Playgroud)
另外:警告信息:
In field_types[] <- field_types[names(data)] :
number of items to replace is not a multiple of replacement length
Run Code Online (Sandbox Code Playgroud)
这是我今天试图用sqldf包运行任何东西的错误信息.昨天运行的相同查询今天没有运行,我做错了什么?
小智 8
我有同样的问题:
Error: Cannot pass NA to dbQuoteIdentifier()
In addition: Warning message:
In field_types[] <- field_types[names(data)] :
number of items to replace is not a multiple of replacement length
Run Code Online (Sandbox Code Playgroud)
经过一些研究,我注意到我在一个表中选择了两次相同的列:
table1<- sqldf("select columnA,
columnA,
keyA
from tableA")
table2<- sqldf("select columnB,
keyB
from tableB")
problematicMerge<- sqldf("select a.*,
b.*
from tableA a join
tableB
on a.keyA = b.keyB")
Run Code Online (Sandbox Code Playgroud)
这是通过改变table1来删除重复的列来解决的(见下文: - 我怀疑其中一个列的别名有不同的名称也可以做到这一点):
table1<-sqldf("select columnA,
keyA
from tableA")
Run Code Online (Sandbox Code Playgroud)
希望这可以帮助
昨天我遇到了同样的问题,当时我突然无法将表从 R 上传到远程桌面上的 SQLite 数据库。
lghdb <- dbConnect(SQLite(), 'lgh.db'
dbWriteTable(lghdb, 'SrtrRisks', SrtrRisks)
Error: Cannot pass NA to dbQuoteIdentifier()...
Run Code Online (Sandbox Code Playgroud)
经过一段时间的摸索之后,我意识到这个错误是由于未完成(未提交)的事务导致所处理的 SQLite 数据库被“锁定”,这与我使用 SQLite 浏览器同时进行的工作有关。一旦我提交了待处理的事务,问题就消失了。
我想你也一定已经明白了这一点,因为你的帖子还没有后续。对于 RSQLite 人员来说,看看他们是否可以在这些情况下返回更有用的错误消息可能会很好。
拉里·亨斯克
| 归档时间: |
|
| 查看次数: |
4972 次 |
| 最近记录: |