이 시나리오에서는 다음을 사용하여 XML 파일을 MySQL 데이터베이스 테이블로 가져오는 동안 오류가 발생합니다. LOAD XML 명령. 이 문제는 테이블에 추가 자동 증가 ID 필드가 있는 테이블의 필드 수와 XML 파일의 값이 일치하지 않기 때문에 발생합니다.
이 오류를 해결하려면 다음을 지정할 수 있습니다. LOAD XML 문을 사용하여 명시적으로 가져올 필드입니다. 다음 SQL 문은 이 작업을 수행합니다.
LOAD XML LOCAL INFILE '/pathtofile/file.xml'
INTO TABLE my_tablename(personal_number, firstname, lastname, email, start_time, end_time, employee_category);
필드 이름을 지정하면 가져오기 프로세스 중에 누락된 id 필드를 건너뛰도록 MySQL에 지시합니다. id 필드는 테이블의 자동 증가 설정에 따라 증분 값으로 자동으로 채워집니다.
열 매핑을 사용한 대체 방법
원하는 경우 XML_LOAD() 함수는 XML 데이터를 MySQL로 가져옵니다. 이 함수는 더 많은 유연성을 제공하고 명시적인 열 매핑을 허용합니다.
SET @xmlData = XML('... ');
SELECT XML_LOAD(@xmlData, '/resultset/row',
'(personal_number, firstname, lastname, email, start_time, end_time, employee_category)'
INTO TABLE my_tablename);
이 경우 XML_LOAD() 함수는 XML 데이터를 구문 분석하고 INTO TABLE 절에 지정된 열 매핑을 기반으로 my_tablename 테이블을 채웁니다.
둘 중 하나를 활용하여 이러한 방법 중 누락된 ID 필드를 건너뛰고 자동 증가 기능을 사용하여 각각에 대한 고유 식별자를 생성하여 XML 데이터를 MySQL 데이터베이스 테이블로 성공적으로 가져올 수 있습니다. 열.
부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.
Copyright© 2022 湘ICP备2022001581号-3