В этом сценарии вы столкнулись с ошибкой при попытке импортировать файл XML в таблицу базы данных MySQL с помощью команда ЗАГРУЗИТЬ XML. Проблема возникает из-за несоответствия количества полей в таблице значениям в файле 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);
Указывая имена полей, вы указываете MySQL пропустить отсутствующее поле id во время процесса импорта. Поле 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 и заполняет таблицу my_tablename на основе сопоставления столбцов, указанного в предложении INTO TABLE.
Используя либо Из этих методов вы можете успешно импортировать XML-данные в таблицу базы данных MySQL, пропуская отсутствующее поле id и полагаясь на функцию автоматического приращения для генерации уникальных идентификаторов для каждой строки.
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3