2013-05-13 2 views
0

Если я сериализовать данные, такие как:Serialized объект базы данных MySQL в R

> a <- 1:5 
> a 
[1] 1 2 3 4 5 
> b <- serialize(a,NULL) 
> b 
[1] 58 0a 00 00 00 02 00 02 0f 02 00 02 03 00 00 00 00 0d 00 00 00 05 00 00 00 01 00 00 00 02 00 00 00 03 00 00 00 04 00 00 00 05 
> b[1] 
[1] 58 
> b[8] 
[1] 02 

Как я могу положить, что сериализованные данные в таблицу MySQL? У меня есть и другая информация. Я читал, что это можно сделать как blob, но я не знаю, как это работает. Я использую RMySQL. Я пробовал:

dbGetQuery(con, "INSERT INTO table(",b," info, moreInfo, otherStuff, more, date)") 

но это не сработает.

Если я использую

query <- paste ("INSERT INTO table(",b," info, moreInfo, otherStuff, more, date)") 
dbGetQuery(con,query) 

это еще не будет работать.

+0

Я думаю, что вам, возможно, придется использовать 'dbWriteTable'. – joran

+0

У меня есть таблица, где я хочу вставить данные. – TheLaama

+1

Да, я полагаю, вы это делаете. Обычно вы вставляете, указывая 'append = TRUE' в' dbWriteTable'. – joran

ответ

0

попробовать это:

library(RODBC) 
dt=data.table(a=sample(10),b=sample(10)*10) 
sqlSave(con, dt, tablename='sampletablename') # overwrites existing sampletablename table 
sqlSave(con, dt, tablename='sampletablename', append=TRUE) # append instead of overwrite 
+0

Но можно ли поставить эти сериализованные данные в mysql как один объект. так что на каждой строке будут одни сериализованные данные с другим материалом – TheLaama

Смежные вопросы