6
I RMySQL und DBI für die Verbindung zwischen R und MySQL bin mitAusführen mehrere SQL sofort Befehle auf R
library(RMySQL)
library(DBI, quietly = TRUE)
Alles funktioniert für einen Befehl in Ordnung, wie
sql = "select * from clients"
con <- dbConnect(MySQL(),user=user, password=password, dbname=dbname, host=host)
rs <- dbSendQuery(con, sql)
data <- fetch(rs, n=-1)
huh <- dbHasCompleted(rs)
dbClearResult(rs)
on.exit(dbDisconnect(con))
jedoch wenn ich mehrere Befehle mit ";" zwischen ihnen (z. B. um einen Parameter zu setzen), gibt es einen Fehler zurück. Zum Beispiel
sql = "SET @LAST_TEN_DAY = DATE_ADD(NOW(), INTERVAL -10 DAY); select * from clients where date > @LAST_TEN_DAY"
con <- dbConnect(MySQL(),user=user, password=password, dbname=dbname, host=host)
rs <- dbSendQuery(con, sql)
data <- fetch(rs, n=-1)
huh <- dbHasCompleted(rs)
dbClearResult(rs)
on.exit(dbDisconnect(con))
Vielen Dank,
Sie können SQL und R nicht so. Sie müssen eine Variable erstellen, die den Wert von 'DATE_ADD (NOW(), INTERVAL, -10 DAY) enthält und dann die SQL-Abfrage' SELECT * FROM CLIENTS WHERE DATE> Ihren Variablenwert verwendet. – MaxPD
Hi Max, danke für antwortend. Darf ich wissen, wie man das in R macht? Wenn Sie einen SQL-Befehl zum Erstellen einer Variablen ausführen, bin ich nicht sicher, ob diese Variable für die nächste SQL-Befehlsausführung beibehalten wird. –
Die Variable wird global sein und kann für jede SQL-Anweisung in Ihrem R-Code verwendet werden. – MaxPD