SQLite에서 MySQL로 단일 행을 가져오시겠습니까?

SQLite에서 MySQL로 단일 행을 가져오시겠습니까?

SQLite 3 데이터베이스에서 MySQL 데이터베이스로 일종의 증분 가져오기 작업을 계속해서 수행해야 합니다. 열 이름은 두 데이터베이스에서 동일합니다. 스크립트를 통해 이 작업을 수행할 수 있는 좋은 방법이 있습니까? (실제로 사용할 수 있도록 행의 열 값을 일종의 배열/목록으로 가져오는 좋은 방법이 있습니까?) 아니면 Small을 사용하는 것이 더 나을까요? C 프로그램?

업데이트: 좋습니다. 한 줄에 하나의 열 값을 제공하는 -line 옵션이 있으며 결과 줄은 빈 줄로 구분됩니다. 여전히 그것을 구문 분석하는 매우 간단한 방법을 찾아야 합니다 ;-)

답변1

#!/bin/bash

sqlite test.db  "select * from tablename" > /tmp/dump.sql

mysql -uroot -ppassword  databasename <<EOF
load data infile '/tmp/dump.sql'
into table tablename
fields terminated by '|'
escaped by '\\\'
lines terminated by '\n';
EOF

답변2

나는 어댑터를 사용하여 PHP에서 이와 같은 것을 작성했고, 우리가 한 일은 가져온 것(또는 실패한 것)을 표시하기 위해 sys_parsed 플래그를 만드는 것이었습니다. 기본적으로 작동하지 않는 가져오기를 시도하지 않도록 추적하세요.

수천 개의 sqlite 파일을 구문 분석하여 고객당 하나의 테이블이 있는 단일 mysql 데이터베이스로 가져옵니다. 하지만 확실히 15호선은 아닙니다. 신뢰할 수 있는 수입품을 원한다면 할 일이 더 있습니다. 성능도 꽤 좋고, 부하도 그리 무겁지 않습니다.

관심이 있으시면 한 번 살펴보고 공유할 수 있는지 알아볼 수 있습니다(클라이언트를 위해 작성됨).

관련 정보