programing

R(RMariaDB)/R의 정수 변환을 통해 MySQL/MariaDB를 쿼리할 때 숫자가 변경됩니다.

stoneblock 2023. 8. 12. 09:47

R(RMariaDB)/R의 정수 변환을 통해 MySQL/MariaDB를 쿼리할 때 숫자가 변경됩니다.

R에서 RmariaDB 및 DBI를 통해 원격 MariaDB 데이터베이스에 연결할 수 있었습니다.하지만 현재 R을 통해 데이터베이스를 조회할 때 이상한 번호 변경이 발생하고 있습니다.차이점을 설명하겠습니다.

다음 명령을 사용하여 데이터베이스에 간단한 항목 하나를 삽입했습니다.

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

원격 서버에서 이 데이터베이스에 직접 연결하고 다음과 같은 문을 실행하는 경우:

SELECT * FROM respondent;

이러한 가치를 제공합니다.

ID: 2388793051, 이름: 테스트 사용자

그래서 저도 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

보시는 것처럼 데이터베이스에 저장된 2388793051이 아닌 -1906174245입니다.나는 id-field의 이 이상한 정수 변환을 이해할 수 없습니다.누가 이 문제가 어떻게 발생하고 어떻게 해결할 수 있는지 설명해 주시겠습니까?

편집: 문제가 되지 않을 것으로 예상되지만, 알려드리고자 합니다. SSH 터널을 사용하여 로컬에서 원격 컴퓨터로 지정된 포트를 통해 연결할 수 있습니다.

솔루션: 데이터베이스 사양에서 응답자의 ID를 INT 대신 BIGINT로 이미 지정한 것이 차이점입니다.@Jonny Crunch 덕분에

언급URL : https://stackoverflow.com/questions/54872112/numbers-change-when-querying-mysql-mariadb-through-r-rmariadb-integer-convers