[R-sig-DB] RODBC sqlSave appends rows from data frame in reverse order

Chris c@ @end|ng |rom |ncent|ve-|nve@t|ng@com
Wed Nov 20 18:28:06 CET 2013


Great, thank you all.
I will always add "order by" when fetching data into da data frame and
assume the rows in MySQL might not always be in right order

-----Ursprüngliche Nachricht-----
Von: Prof Brian Ripley [mailto:ripley using stats.ox.ac.uk] 
Gesendet: Mittwoch, 20. November 2013 18:19
An: Enrico Schumann; Chris
Cc: r-sig-db using r-project.org
Betreff: Re: [R-sig-DB] RODBC sqlSave appends rows from data frame in
reverse order

On 20/11/2013 16:34, Enrico Schumann wrote:
> On Wed, 20 Nov 2013, "Chris" <cs using incentive-investing.com> writes:
>
>> Hi,
>>
>> I append rows to a table in MySQL with sqlSave from RODBC package. 
>> The data frame that is saved is ordered by date ascending (first 
>> column) as is the table in the DB. When I send the whole data frame 
>> at once, the data frame is appended in reverse order. That means the 
>> row with the newest date in the data frame is the first row appended 
>> to the table, while the row with oldest date will be last row in the 
>> table. OK, I thought that "append" just orders by date descending and 
>> that is why the reverse ordering happens. But when I send each row of 
>> the data frame using a for-loop the result is the same: The first row 
>> send is the last row in the table, the second row send, is the second
last row in the table.
>>
>> My solution is to run the for loop from last to first row of the data 
>> frame but I am looking for an explanation why append works like this 
>> and if it's possible to change this in some setting.
>>
>
> In MySQL, you never have a guarantee in which order the rows will be 
> retrieved unless you specify it (eg, "SELECT * FROM table ORDER BY 
> column;").

Nor any other RDBMS: as the RODBC manual does say (on p.6).

>
> [...]
>
>>
>> Thank you
>>
>> Chris
>>
>


-- 
Brian D. Ripley,                  ripley using stats.ox.ac.uk
Professor of Applied Statistics,  http://www.stats.ox.ac.uk/~ripley/
University of Oxford,             Tel:  +44 1865 272861 (self)
1 South Parks Road,                     +44 1865 272866 (PA)
Oxford OX1 3TG, UK                Fax:  +44 1865 272595




More information about the R-sig-DB mailing list