无法使用带有RODBC的自动编号列附加到表中

时间:2014-07-29 19:48:47

标签: sql r ms-access rodbc

我正在尝试使用RODBC将新行插入Microsoft Access数据库中的表。问题是主键列是自动编号,它似乎不允许我省略此列。我使用带有append = TRUE的sqlSave函数和带​​有单行的数据框。我尝试过以下方法:

1:将列完全从数据框中删除。这会导致错误:

Error in odbcUpdate(channel, query, mydata, coldata[m, ], test = test,  : 
   missing columns in 'data'

2:将主键列的值设置为整数NA。这给了我:

Error in sqlSave(conn, exptrow, table = "archiverapp_experiments", append = TRUE,  : 
  unable to append to table ‘archiverapp_experiments’

潜水员错误与verbose = TRUE:

23000 -1504 [Microsoft][ODBC Microsoft Access Driver] You tried to assign the Null value to a variable that is not a Variant data type.

3:将PK的值设置为零,正如我在另一篇StackOverflow帖子中的答案中看到的那样。这是第一次工作,但实际上将PK显式设置为零,因此它不再起作用。

我想我可以在添加之前执行查询以查找PK列的最大值,然后只需添加一个。然而,这似乎打败了自动编号专栏的目的。是否有更简单或更优雅的解决方案?

0 个答案:

没有答案