Числа изменяются при запросе MySQL / MariaDB через R (RMariaDB) / Целочисленное преобразование в R - PullRequest
0 голосов
/ 25 февраля 2019

Мне удалось реализовать подключение от R через RMariaDB и DBI к удаленной базе данных MariaDB.Однако в настоящее время я сталкиваюсь со странным изменением чисел при запросе базы данных через R. Я объясню различия:

Я вставил одну простую запись в свою базу данных с помощью следующей команды:

INSERT INTO respondent ( id, name ) VALUES ( 2388793051, 'testuser' )

Когда я подключаюсь к этой базе данных непосредственно на удаленном сервере и выполняю инструкцию, подобную этой:

SELECT * FROM respondent;

, она выдает эти значения

id: 2388793051, имя: testuser

Так что я также должен иметь возможность подключиться к базе данных через R и получить те же результаты.Поэтому, когда я выполняю следующий код в R, я ожидаю получить эту вставленную и сохраненную информацию, показанную выше:

library(DBI)
library(RMariaDB)

conn <- DBI::dbConnect(drv=RMariaDB::MariaDB(), user="myusername", password="mypassword", host="127.0.0.1", port="1111", dbname="mydbname")

res <- dbGetQuery(conn, "SELECT * FROM respondent")
print(res)

Однако результат этого запроса следующий

      id                name
      -1906174245       testuser

Как видите, идентификатор теперь -1906174245 вместо сохраненных 2388793051 в базе данных.Я не понимаю это странное преобразование целых чисел в поле id.Может кто-нибудь объяснить, как возникает эта проблема и как я могу ее решить?

РЕДАКТИРОВАТЬ: Я не ожидаю, что это будет проблемой, но просто сообщить вам: я использую SSH туннель для подключения через эти указанные порты от моего локального к моей удаленной машине.

РЕШЕНИЕ: Различие заключалось в том, чтобы указать идентификатор респондента в спецификации базы данных уже как BIGINT вместо INT.Благодаря @ JonnyCrunch

...