В моей базе SQl тип item_id - bigint (20) Мне нужно извлечь список item_id, а затем вставить его в другую таблицу, чтобы сделать соединение.bigint (20) in sql query в R
Но 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"}
Так что я не могу ввода этого значения в новую таблицу, как присоединиться не будет работать нет BIGINT (20) в R, так что, вероятно, мне нужно, чтобы преобразовать в carácter, но как я могу сделать это в запросе RMySQL?
Любая помощь будет намного appriciate
Насколько я знаю, при вставке данных из R в DB-таблицы преобразования данных типы - это вопрос СУБД. Если тип столбца в вашем 'data.frame' является' CAST' -способен на необходимый, определенный в свойствах DB-таблицы, то вставка будет в порядке. Хотя преобразование в 'character' или' integer' довольно просто: 'items $ ITEM_ID <- as.character (items $ ITEM_ID)' или то же самое с 'as.integer', но, как я думаю,' as.integer' может вызвать ошибку из-за больших значений в столбце 'ITEM_ID'. – inscaven
«as.character» Это то, что я делал, но преобразовал двойные числа в charecters, поэтому конечный результат был неправильным, чтобы сделать дальнейшее соединение. Единственное решение, которое я нашел, - это напрямую (item_id as char) в sql-запрос. и определить тип столбца как bigint (20) в dbWriteTable. – user3825422