R DBI и несколько обновлений

В R я пытаюсь выполнить несколько операторов обновления MySQL/MariaDB, которые я сохранил в текстовой переменной. Заявления разделяются с помощью ";". Как это:

sql <- paste("UPDATE x SET y = 'a' WHERE col1 = 1;",
 "UPDATE x SET y = 'b' WHERE col1 = 2;",
 "UPDATE x SET y = 'c' WHERE col1 = 3;",
 "UPDATE x SET y = 'd' WHERE col1 = 4;"
)

Я определяю связь с CLIENT_MULTI_STATEMENTS как это:

con <- dbConnect(drv = MySQL(), 
  group = 'dbPoll',
  client.flag = CLIENT_MULTI_STATEMENTS
)

Затем я отправляю (первое) заявление. Как это:

res <- dbSendQuery(con, 
  sql
)

И я вижу эффект в базе данных! Тем не менее, когда я пытаюсь выполнить оставшиеся три обновления. Я не получаю любви...

while(dbMoreResults(con)){
  res <- dbNextResult(con)
}

Цикл while работает. Например. Если я добавлю простой счетчик в цикл while, я увижу, что он повторяется три раза. я пробовал dbSendQuery(res), dbExecute(res) и т.д. внутри цикла, но ничего.

Как мне выполнить оставшиеся обновления?

0 ответов

Другие вопросы по тегам