엑셀로 데이터를 넣고 있는데 6만여개 정도만 들어갑니다 제한이 있는지요?
본문
데이터를 잘 다루지 못하는 초짜인데요
csv 파일로 phpmyadmin에서 업로드를 하면 계속 오류가 나서 그냥 엑셀로 변환에서 넣고 있습니다.
자료는 잘 들어가는데 데이터가 6만개정도만 한번에 들어갑니다. 원래 그런가요?
아님 어딘가를 조정해서 한번에 50만개 자료가 들어갈 방법이 있는지요?
자료가 많아서 일일히 이것을 6만개 정도로 분할해서 넣으려니 힘들고 복잡합니다.
감사합니다.
답변 5
서버에 용량제한이나 쿼리제한이 걸려있으면 다 들어가지 않습니다
서버의 제한을 풀어주셔야하며 웹호스팅 사용중이라면 보통 제한이 걸려있어 풀 수 없습니다
.xls 포맷은 65,536행까지 사용 가능합니다.
저장된 엑셀 파일 열어 Ctrl + ↓ (아래 화살표) 눌러 이동해 몇 행까지 있는지 확인해보세요.
.xlsx 포맷은 1,048,576행까지입니다.
50만건 정도면 phpmyadmin이나 기타 php코드로 입력하기 어려울 것이니
ssh접속하여 mysql접속 후 등록하면 짧은 시간에 등록 할 수 있을 것입니다
csv 파일로 phpmyadmin에서 업로드를 하면 계속 오류가 나서
> 해당 오류를 남겨주면 도움이 되겠죠?
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ fgetcsv()
- https://www.php.net/manual/en/function.fgetcsv.php
위 함수를 이용해 처리하면 편합니다.
INSERT INTO 테이블명 (필드명, 필드명, ...) VALUES (값, 값, ...), (값, 값, ...), ... 형태로
한번에 수백, 수천건의 레코드를 입력할 수 있으니 순식간에 입력 가능합니다.
* 환경에 따라 조절을 해줘야 합니다. 예) max_allowed_packet 값에 따른 처리
한번에 들어가는 자료 수는 제한이 없습니다. 하지만 데이터가 많을 경우 PHPMyAdmin의 업로드 제한이 있을 수 있으므로 phpMyAdmin 관련 설정을 확인해보시기 바랍니다. 또한, 데이터가 많을 경우 엑셀 파일의 크기가 커질 수 있으므로 데이터를 적절히 나누어 업로드하는 것이 좋습니다.