programing

첫 번째 콜이 자동 증분인 mysql에 데이터 INFILE을 로드하는 방법은 무엇입니까?

lastmoon 2023. 8. 5. 10:54
반응형

첫 번째 콜이 자동 증분인 mysql에 데이터 INFILE을 로드하는 방법은 무엇입니까?

현재 다음과 유사한 테이블이 있습니다.

---------------------
ID | AField | BField|
---------------------

ID는 자동 증분입니다.

데이터베이스가 ID 필드에 자동 증분 번호를 자동으로 채울 수 있는 CSV를 만들려면 어떻게 해야 합니까?

다음 CSV를 사용해 보았지만 작동하지 않습니다.

afieldvalue, bfieldvalue (With Column definition but still doesn't work)
0,afieldvalue,bfieldvalue 
NULL,afieldvalue,bfieldvalue

가장 좋은 방법은 CSV에 2개의 비자동 증분 열을 포함한 다음 load data infile 문에서 ID 열을 NULL로 명시적으로 설정하는 것입니다.

이와 같은 것:

LOAD DATA INFILE '/tmp/data.csv'
INTO TABLE your_table
FIELDS TERMINATED BY ','
(AField, BField)
SET ID = NULL;

다음과 같이 행의 시작 부분에 구분 기호를 배치하여 데이터 행의 ID 필드를 " 생략"할 수 있습니다(테이블 스키마의 경우).ID,AField,BField):

,afieldvalue,bfieldvalue
...

SQL 엔진이 할당합니다.NULL로.ID해당 csv 파일을 읽는 동안 필드

LOAD DATA INFILE '/tmp/data.csv'
INTO TABLE your_table
FIELDS TERMINATED BY ',' LINES TERMINATED BY '\r'
(AField, BField);

ID 필드에 대한 csv 파일의 값으로 NULL을 사용합니다.

NULLCSV 파일은 MySQL에서 STRING으로 읽힙니다.MySQL 열에 null 값을 사용하려면 대신\NNULL을 대신하여이렇게 하면 문제가 해결되고 필요한 결과를 얻을 수 있습니다.

열 수가 적은 경우 이름만 지정할 수 있습니다.LOAD DATA LOCAL INFILE 'myfile.txt' INTO TABLE mytable (AField);(ID & A 필드만 가정)

LINES TERMINATED BY '\r\n' 

그것이 제가 텍스트 파일을 사용할 때 성공의 열쇠였습니다.

언급URL : https://stackoverflow.com/questions/6017032/how-to-load-data-infile-in-mysql-with-first-col-being-auto-increment

반응형