错误dbWriteTable未知列'$1';在';字段列表';
有一个Rscript,用于将数据帧插入到MariaDB中。没有人改变任何事情,但突然开始失败错误dbWriteTable未知列'$1';在';字段列表';,r,database,rmysql,R,Database,Rmysql,有一个Rscript,用于将数据帧插入到MariaDB中。没有人改变任何事情,但突然开始失败 insertconnection <- dbConnect(RMariaDB::MariaDB(), user = 'user', password = 'pwd', dbname = 'db', host = 'myhost.com' ) dbWriteTable( insertconn
insertconnection <-
dbConnect(RMariaDB::MariaDB(),
user = 'user',
password = 'pwd',
dbname = 'db',
host = 'myhost.com'
)
dbWriteTable(
insertconnection,
name = "summary",
df,
append = TRUE,
overwrite = FALSE,
row.names = FALSE
)
Error in result_create(conn@ptr, statement, is_statement) :
Unknown column '$1' in 'field list' [1054]
Calls: dbWriteTable ... new -> initialize -> initialize -> result_create -> .Call
这里是数据帧的摘要
> str(df)
'data.frame': 314322 obs. of 8 variables:
$ hit : num 3568 3617 3624 3625 3627 ...
$ id : chr "184340" "11440" "38440" "58440" ...
$ reference : chr "18440" "18440" "18440" "18440" ...
$ province : chr "Alberta" "Alberta" "Alberta" "Alberta" ...
$ town : chr "unknown" "unknown" "unknown" "unknown" ...
$ type : chr "dat" "res" "dat" "res" ...
$ level : chr "AAO001005" "BBO001005" "CCO001005" "CRO001005" ...
$ assess: chr "[returned] IKJ" "Bk LOW" "Bk UP" "Bk LOW" ...
这里是createtable命令
CREATE TABLE `summary` (
`hit` INT(11) NULL DEFAULT NULL,
`id` INT(11) NULL DEFAULT NULL,
`reference` TEXT NULL,
`province` TEXT NULL,
`town` TEXT NULL,
`type` TEXT NULL,
`level` TEXT NULL,
`assess` TEXT NULL
)
COLLATE='utf8_general_ci'
ENGINE=InnoDB
;
使用Rstudio服务器的不同计算机上出现相同错误更新了添加STR和创建表的问题。数据是保密的。Sorry此错误与数据框中的一个或多个列名与
摘要
表中的列名不匹配一致。您是刚刚运行了createtable
命令,还是旧数据?在运行R脚本之前,检查MySQL表和数据框。这是实际数据和实际创建。相同名称(df)和名称(摘要)
CREATE TABLE `summary` (
`hit` INT(11) NULL DEFAULT NULL,
`id` INT(11) NULL DEFAULT NULL,
`reference` TEXT NULL,
`province` TEXT NULL,
`town` TEXT NULL,
`type` TEXT NULL,
`level` TEXT NULL,
`assess` TEXT NULL
)
COLLATE='utf8_general_ci'
ENGINE=InnoDB
;