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)
и т.д. внутри цикла, но ничего.
Как мне выполнить оставшиеся обновления?