이 시나리오에서는 다음을 사용하여 XML 파일을 MySQL 데이터베이스 테이블로 가져오려고 할 때 오류가 발생합니다. LOAD XML 명령. 이 문제는 테이블에 추가 자동 증가 ID 필드가 있는 테이블의 필드 수와 XML 파일의 값이 일치하지 않기 때문에 발생합니다.
이 오류를 해결하려면 다음을 지정할 수 있습니다. LOAD XML 문을 사용하여 명시적으로 가져올 필드입니다. 다음 SQL 문은 이를 수행합니다.
<code class="sql">LOAD XML LOCAL INFILE '/pathtofile/file.xml' INTO TABLE my_tablename(personal_number, firstname, lastname, email, start_time, end_time, employee_category);</code>
필드 이름을 지정하면 가져오기 프로세스 중에 누락된 id 필드를 건너뛰도록 MySQL에 지시합니다. id 필드는 테이블의 자동 증가 설정에 따라 증분 값으로 자동으로 채워집니다.
열 매핑을 사용한 대체 방법
원하는 경우 XML_LOAD() 함수는 XML 데이터를 MySQL로 가져옵니다. 이 함수는 더 많은 유연성을 제공하고 명시적인 열 매핑을 허용합니다.
<code class="sql">SET @xmlData = XML('<resultset statement="...">...</resultset>'); SELECT XML_LOAD(@xmlData, '/resultset/row', '(personal_number, firstname, lastname, email, start_time, end_time, employee_category)' INTO TABLE my_tablename);</code>
이 경우 XML_LOAD() 함수는 XML 데이터를 구문 분석하고 INTO TABLE 절에 지정된 열 매핑을 기반으로 my_tablename 테이블을 채웁니다. .
이러한 방법 중 하나를 활용하면 누락된 ID 필드를 건너뛰고 자동 증가 기능을 사용하여 각 행에 대한 고유 식별자를 생성하여 XML 데이터를 MySQL 데이터베이스 테이블로 성공적으로 가져올 수 있습니다.
위 내용은 LOAD XML 및 XML_LOAD()를 사용하여 ID 열이 누락된 XML 파일을 MySQL로 가져오는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!