테이블 칼럼에 중복되는 자료가 존재하면 안되기 때문에 테이블 설계시에 중복발생이 되지 않도록 인덱스를 걸어두었다.
이미 등록한 자료를 다시 등록을 시도해봤다.
load data local infile '/home/httpd/test/test.csv'
into table `rand_mp3file`
fields terminated by ';' -- 칼럼을 구분할 구분자를 지정
lines terminated by '\r\n' -- Row(행)을 구분해줄 구분자를 지정
ignore 1 lines -- 등록할 파일의 첫줄을 무시하고 등록하라
(`relatedno` ,
`mp3file` ,
`mp3rand`
);
총 5개의 레코드인데 전부 Skipped 된 걸로 나온다.
즉 등록된 자료는 하나도 없는 것으로 나온다.
UNIQUE INDEX 를 추가하고 업데이트 방식을 해보고자 한다.
중복된 자료가 있을 경우와 중복되지 않은 자료가 있을 경우 어떤 현상이 생기는지 궁금해졌다.
mysql > show index from 테이블명;
첫번째 데이터 등록은 잘 등록되었는데, 추가 자료를 등록할 때는 어떻게 등록해야 UNIQUE 하게 자료가 잘 등록될까?
등록하기 전에 이 자료가 중복이 발생되는 자료인지 중복검사를 하는 방법을 알아봐야겠다.
물론 엑셀 VBA 와 MySQL 을 연결해서 검사를 하면 중복 여부는 확인이 가능하다.
문제는 속도가 너무 느리다는 단점이 있다.
하나의 데이터를 검색할 때마다 테이블의 자료 갯수만큼 반복해야 하니까~~
'SQL' 카테고리의 다른 글
[MySQL] 중복된 갯수가 n 개 이상 및 데이터 찾기 (5) | 2015.07.18 |
---|---|
[MySQL] 등가 조인(INNER JOIN) SELECT, UPDATE (0) | 2015.07.17 |
[MySQL] INDEX 확인, 추가, 삭제 (0) | 2015.07.14 |
[MySQL] 날짜 함수 (2) | 2015.07.09 |
[MySQL] DB/테이블 최적화 (0) | 2015.05.25 |