[R] RMySQL valid field names
Luis Torgo
ltorgo at liacc.up.pt
Mon Nov 24 20:45:56 CET 2003
I'm having some problems with valid field names when using RMySQL to interface
R (version 1.7.0, under RedHat9.0), to MySQL (4.1.0-alpha). I think I've
spotted the problem and a solution (which is working for me), but I wanted to
share this with you as I may be missing something.
(Note: I'm aware that this is an old R version, but I've checked the code of
the lastest version of the RMySQL package at CRAN, and my comments still
apply).
I have a data frame which has among others three columns with names
('DateTime', 'Open' and 'Close'). When I use dbWriteTable to dump the data
frame into a MySQL database everything works fine except the names of these
three columns which are slightly different (e.g. 'DateTime_9').
This only occurs with these 3 columns because their names are reserved words
of MySQL. The change of names is occurring in the function mysqlWriteTable,
namely in the call:
...
names(field.types) <- make.db.names(con,names(field.types),allow.keywords=F)
...
If I change the parameter allow.keywords into T, everything works fine for me.
Given that MySQL allows all characters to be part of field names (section
6.1.2 of MySQL reference manual), I do not understand what is the reason for
calling make.db.names with this value of parameter allow.keywords.
In resume, my question is: Is there any reason for this that I am missing, or
the change I've done is pretty safe and could possibly be done in future
versions of the package?
Thank you for any help.
Luis
--
Luis Torgo
FEP/LIACC, University of Porto Phone : (+351) 22 607 88 30
Machine Learning Group Fax : (+351) 22 600 36 54
R. Campo Alegre, 823 email : ltorgo at liacc.up.pt
4150 PORTO - PORTUGAL WWW : http://www.liacc.up.pt/~ltorgo
More information about the R-help
mailing list