[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
this:

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

Cheers,
H.

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