2015-01-29 2 views
0
나는 다양한 성능 모니터 스타일의 CSV 로그를 수입하고있어 뭔가처럼 수입으로 행 번호 변수와 필드를 업데이트하기 위해 SET 명령을 추가 할

동안 증가 변수 : 그러나MySQL의 - 수입

SET @varcount = 0;LOAD DATA INFILE '/file' INTO TABLE mytable ....... (field1, field2, field3) SET linenumberfield = @varcount:[email protected]+1; 

mysql은 "linenumberfield = ...."비트 근처의 구문 문제로 인해 오류가 발생합니다. 예약어를 밟고 콜론없이 다양한 조합을 시도한 경우를 대비하여 다양한 var 이름을 시도했습니다. 이전에 내가 본 모든 게시물은 SELECT 또는 UPDATE 명령에 관한 것이므로 문제가 가져 오기에서 수행하려고하는지 궁금합니다.

어떤 도움을 주셔서 감사합니다 ...

답변

0

그냥 성공적으로 테스트 :

set @varcount = 0; 
LOAD DATA INFILE '/file.txt' INTO TABLE attachments SET `name` = @varcount; 

그러나 MySQL Reference는 말한다 : SET 절에서

할당이 왼쪽에만 열 이름을 가져야한다

할당 연산자의 쪽.

BEFORE 또는 AFTER INSERT에 트리거를 추가하여 계산할 수 있습니다.

+0

감사합니다. linenumberfield는 var 변수가 아닌 var로 업데이트하려는 col의 이름이지만 ... SET가 작동해야하는 방식이없는 경우가 아니면? – dailygrind

+0

처음에 아이디어를 얻지 못했습니다 - 편집 된 답변을 참조하십시오. – ptrk

+0

고마워, 나는 이것이 사실이라고 추측했지만, 내가 틀렸다는 것을 희망했다. 당신의 도움을 주셔서 감사합니다! – dailygrind