在R中的sql查询中的bigint(20)

时间:2015-05-04 09:34:00

标签: r bigint rmysql

在我的SQl基础中,item_id的类型是bigint(20) 我需要提取item_id列表,然后将其插入到另一个表中以进行连接。

但是R将item_id转换为查询结果中的“double”。

{query.1<-c("Select ITEM_ID FROM DISPLAY WHERE client_key=121")
query.1 <- paste (query.1, collapse = " ")
items<- dbGetQuery(connect.base, query.1)

typeof(items$ITEM_ID)
[1] "double"}

所以我无法将这些值输入到新表中,因为连接不起作用 R中没有bigint(20),所以我可能需要转换为caracter,但是如何在RMySQL查询中进行呢?

任何帮助都会非常适合

1 个答案:

答案 0 :(得分:1)

您必须在mysql中使用指定字段创建表。像

dbSendQuery(connect.base, "create table new_table(
ITEM_ID bigint not null,
key(ITEM_ID))ENGINE=InnoDB DEFAULT CHARSET=utf8;")

然后,如果使用append=TRUE编写带有R的数据库表,则值将采用正确的格式:

dbWriteTable(connect.base, "new_table",items, append=TRUE,row.names=F)