[BioC] RMySQL, for loop problem...

Sean Davis sdavis2 at mail.nih.gov
Fri Jun 15 17:25:55 CEST 2007


Alessandro Bruselles wrote:
> I'm trying to do a little loop using the RMySQL package to update some 
> fields in my db
> but I can't find a way;
> the loop should be this:
> 
> /for (i in 1:nrow(geni_FClow)){
>    dbGetQuery(con, "update GO_DC5_vs_50PC3_apoptosis set FC_low = 
> geni_FClow$FC_low[i] where geni like geni_FClow$geni[i]")
> }/
> 
> but I get the following error:
> 
> /Errore in mysqlExecStatement(conn, statement, ...) :
>         RS-DBI driver: (could not run statement: You have an error in 
> your SQL syntax; check the manual that corresponds to your MySQL server 
> version for the right syntax to use near '[i] where geni like 
> geni_FClow$geni[i]' at line 1)/
> 
> while the simple statement:
> 
> /dbGetQuery(con, "update GO_DC5_vs_50PC3_apoptosis set FC_low = 
> geni_FClow$FC_low[2] where geni like geni_FClow$geni[2]")/
> 
> (using a number instead of the [i])
> works!
> 
> Any help would be appreciated
> (I know maybe the answer is so simple I cannot see it...)
> 

Look at the help for sprintf().  RMySQL does not, the last time I
looked, do variable substitution.

Sean



More information about the Bioconductor mailing list