ошибка dbWriteTable Неизвестный столбец «$ 1» в «списке полей» - PullRequest
0 голосов
/ 26 октября 2018

Rscript для вставки кадра данных в MariaDB работал нормально. Никто ничего не изменил, но внезапно начал терпеть неудачу.

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

Нет такого поля $ 1

   > names(df)
     [1] "hit"                     "id"                     "reference"          "province"               
     [5] "town"                    "type"               "level"                     "assess" 

Вот краткое изложение данных.

> 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" ...

Здесь команда создания таблицы.

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

...