개발 Q&A

제목 mysql - myisam 엔지 사용중인데 1173개 이상 데이타가 안들어가는 현상 ?
글쓴이 람이 작성시각 2016/07/28 10:51:19
댓글 : 8 추천 : 0 스크랩 : 0 조회수 : 14431   RSS

mysql - myisam 엔지 사용중인데 1173개 이상 데이타가 안들어가는 현상 ? 이 발생하네요..

 

해당 테이블에서 혹시나 해서 필드 수를 4개를 줄여도 insert 실행시 들어가는 갯수는 1173개 후 정지되네요 ㅠ.ㅜ

 

 

이게 무슨 현상인가요 ?

 다음글 (3)
 이전글 프로젝트 관리 문의 드립니다. (7)

댓글

배강민 / 2016/07/28 10:55:33 / 추천 1

혹시 input을 이빠이 받아서 루프돌면서 insert하는데, 어느순간 이후가 안되시는건가요?

만약, 그런거라면 http://codeigniter-kr.org/bbs/view/etc_qna?idx=14392&page=1&view_category=&lists_style= 설정문제일 수 있습니다.

람이 / 2016/07/28 11:02:11 / 추천 0

배강민님 답변은 감사드립니다.

하지만, xml로 받아온 파일을 루프를 돌려서 insert 하고 있는데 안되서 질문을 남겼습니다.

이상하게 어떤 방법을 하던 1173개가 들어가고.... 루프틑 도는데 insert는 안되네요 ㅠ.ㅜ

 

위 답변과는 다른 현상입니다.

kaido / 2016/07/28 11:28:20 / 추천 0

메모리 오버 확인 해보세요

루프를 돌리면 선점하는 메모리가 점점 증가해서 메모리 오버가 되는 경우가 있습니다.

절적히 해제 시키는 문구를 넣던가, 메모리 설정을 높여 보세요.

람이 / 2016/07/28 13:02:31 / 추천 0

kaido님 

 답변 주셔서 감사드립니다.

 근데 상단에는 

ini_set('max_execution_time', 86400);
ini_set('memory_limit','-1');

 

이렇게 해 두었구요...

mysql query를 돌리는 변수 끝 부분에는 unset($RES); 이렇게 했는데도...

테이블도 삭제하고 다시 만들어도 보고 해도

데이타가 들어가는 개수가 1173개로 고정되네요...

 

CREATE TABLE `wiz_product2_xml` (
    `idx` INT(15) NOT NULL AUTO_INCREMENT,
    `travel_code` VARCHAR(20) NOT NULL,
    `travel_name` VARCHAR(125) NOT NULL,
    `catcode` VARCHAR(20) NOT NULL,
    `catname` VARCHAR(255) NOT NULL,
    `pkg_mst_code` VARCHAR(50) NOT NULL,
    `main_etc_code` VARCHAR(50) NOT NULL,
    `area_code` VARCHAR(5) NOT NULL,
    `area_name` VARCHAR(20) NOT NULL,
    `country` VARCHAR(5) NOT NULL,
    `country_name` VARCHAR(20) NOT NULL,
    `city` VARCHAR(5) NOT NULL,
    `city_name` VARCHAR(20) NOT NULL,
    `start_city` VARCHAR(20) NOT NULL,
    `max_tour_day` TINYINT(3) NOT NULL DEFAULT '0',
    `min_tour_day` TINYINT(3) NOT NULL DEFAULT '0',
    `type` VARCHAR(20) NOT NULL,
    `img_url` VARCHAR(255) NOT NULL,
    `pkg_code` VARCHAR(20) NOT NULL,
    `pkg_name` VARCHAR(255) NOT NULL,
    `adult_total_amt` INT(15) NOT NULL DEFAULT '0',
    `child_total_amt` INT(15) NOT NULL DEFAULT '0',
    `infant_total_amt` INT(15) NOT NULL DEFAULT '0',
    `adult_amt` INT(15) NOT NULL DEFAULT '0',
    `start_date` DATE NOT NULL DEFAULT '0000-00-00',
    `start_time` VARCHAR(10) NOT NULL,
    `arrive_time` VARCHAR(10) NOT NULL,
    `start_air_code` VARCHAR(20) NOT NULL,
    `start_air_kname` VARCHAR(50) NOT NULL,
    `arrive_air_code` VARCHAR(20) NOT NULL,
    `booking_status` VARCHAR(5) NOT NULL,
    `special_desc` TEXT NOT NULL,
    `expn_desc` TEXT NOT NULL,
    `exclude_desc` TEXT NOT NULL,
    `guide_cost` TINYTEXT NOT NULL,
    `guide_cost_currency` VARCHAR(20) NOT NULL,
    `tc_yn` VARCHAR(5) NOT NULL,
    `room_type` VARCHAR(255) NOT NULL,
    `room_cnt` VARCHAR(255) NOT NULL,
    `room_price` VARCHAR(255) NOT NULL,
    `room_option` TINYTEXT NOT NULL,
    `ship_type` VARCHAR(255) NOT NULL,
    `ship_section` VARCHAR(255) NOT NULL,
    `ship_area` VARCHAR(255) NOT NULL,
    `ship_price` VARCHAR(255) NOT NULL,
    `it_use` VARCHAR(6) NOT NULL,
    `regdate` DATE NOT NULL DEFAULT '0000-00-00',
    `regtime` TIME NOT NULL DEFAULT '00:00:00',
    PRIMARY KEY (`idx`),
    UNIQUE INDEX `idx` (`idx`)
)
COMMENT='외부 상품 테이블'
COLLATE='utf8_general_ci'
ENGINE=MyISAM
ROW_FORMAT=DYNAMIC
;

 뭐가 문제일까요 ?

변종원(웅파) / 2016/07/28 14:18:42 / 추천 2
1173번째 데이터 출력해보세요. 내용중에 ' " 등등 특수문자 여부
davincl / 2016/07/29 10:00:23 / 추천 0
XML로 받아오는 데이터는 넣기전에 출력 테스트는 해보시고 웅파님의 특수문자 Replace 해보시면 되지 않을까요? 그리고 인덱스 값도 확인은 필수고요.. 에러 메시지가 어떤건지요...?
하늘치 / 2016/07/29 10:23:02 / 추천 0

저도 비슷한 경험을 해 본 적이 있는데,

웅파님 말씀대로 막히는 행에 홑따옴표나 특수문자 등등이 들어갔을 때 처리가 안되서 그랬었지요.

또는.. 이번 경우는 아닌 듯 하지만,

디비의 칼럼 이름이 as 처럼 sql 문에서 사용하는 예약어일 경우.. 아래처럼 ` 로 감싸줘야하는 경우도 있고요.

INSERT table SET `as` = '123';

 

람이 / 2016/08/01 13:23:29 / 추천 0

답변 주신 모든 분들께 감사 드립니다

 

정답은 그지 같은게 170만건 중에 실 제 겹치지 않는 데이타가 1173개고 전부 동일 코드로 들어 오는 쓰레기 데이타 였습니다.

여행사에서 테스트 데이타를 이런걸 줬네요 ㅠ.ㅜ

 

아무튼 다들 감사합니다... ^^

 

아 참고로 데이타 처리시에 mysql_escapse_string을 주고 작업해서 따옴표 문제는 없을 듯 합니다....