在我的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查询中进行呢?
任何帮助都会非常适合
答案 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)