【发布时间】:2017-06-06 00:28:46
【问题描述】:
代码:
sqlSave(SQL,data.frame(df),tablename='Data',append = TRUE,rownames = FALSE)
我试图插入数据的表有一个自动递增的主键。我的表共有 5 列,包括主键。在我的数据框中,我有 4 列,因为我不想自己插入 PK。但是,当我运行命令时,出现以下错误:
colnames<-(*tmp*, value = c("BId", "name", "Set", 中的错误:
'dimnames' [2] 的长度不等于数组范围
另外,当我自己在数据框中插入主键时,它仍然不起作用。
sqlSave(SQL, data.frame(df), tablename = "Data", 中的错误: 无法附加到表“数据”
【问题讨论】:
-
该错误与
sqlSave无关。df的内容是什么?运行str(data.frame(df)),因为您可能在列中有嵌套列表。显示 df 的来源。 -
列中没有嵌套列表。它是使用数据库中的另一个表创建的 df,我试图附加一个不同的表。
-
另外,做了很多研究,但没有帖子提供使用 Sqlsave 附加包含 PK 的数据帧的解决方案。它适用于没有 PK 的表
-
您在哪个后端数据库上使用 RODBC?甲骨文? SQL 服务器? DB2?微软访问?你可以创建临时表吗?
-
SQL 服务器。我不想创建表格而是追加数据。
标签: sql r append primary-key