[BioC] RMySQL, for loop problem...

Herve Pages hpages at fhcrc.org
Fri Jun 15 21:56:08 CEST 2007

Hi Alessandro,

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]")
> }/

R is not PHP ;-)

  > x <- "'letters[1]' is the first letter of the latin alphabet"
  > x
  [1] "'letters[1]' is the first letter of the latin alphabet"

No variable substitution in string 'x'. That's why you don't get

  [1] "'a' is the first letter of the latin alphabet"


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

More information about the Bioconductor mailing list