Если я запустил простой запрос MySQL в phpMyAdmin:
LOAD XML LOCAL INFILE "C:/Users/user/Documents/file.xml"
INTO TABLE mytable
CHARACTER SET utf8
ROWS IDENTIFIED BY '<tag>'
он дает мне «Нераспознанный тип оператора. (рядом с« ЗАГРУЗИТЬ »в позиции 0)», а также «# 7890 - Не удается найти файл», если файл не найден.
Однако, если файл действительно найден, он продолжает выполнение запроса, сохраняя 0 результатов в таблице, хотя по-прежнему не распознает тип оператора.
Я использую MySQL версии 5.7.19, PhpMyAdmin версии 4.7.4
Любые идеи относительно того, почему он не распознает оператор XML или почему он будет работать с пустым результатом, если он не распознает оператор?
Обновлено: Чтобы добавить некоторое представление, вот что я пробовал:
Кажется, MySQL просто думает, что LOAD "XML" не является типом оператора, как если бы я использовал до 5.2. verison или что-то в этом роде, пока я нахожусь на 5.7., использую phpmyadmin и сервер WAMP на localhost.






PhpMyAdmin - это сторонний инструмент с графическим веб-интерфейсом, который не связан ни с MySQL, ни с Oracle Corporation. Сказал, что...
Unrecognized statement type не кажется действительным Ошибка сервера.Документация ЗАГРУЗИТЬ XML предупреждает:
the transfer of the XML file from the client host to the server host is initiated by the MySQL server.[...] In a Web environment, clients usually connect to MySQL from a Web server. A user that can run any command against the MySQL server can use LOAD XML LOCAL to read any files to which the Web server process has read access. In this environment, the client with respect to the MySQL server is actually the Web server, not the remote program being run by the user who connects to the Web server.
Таким образом, путь к файловой системе, такой как C:/Users/user/Documents/file.xml, не будет работать, если вы не запустите PhpMyAdmin на своем собственном компьютере, а пользователь, от имени которого он работает, не имеет прав на чтение файлов в вашем собственном профиле пользователя.
Если PhpMyAdmin даже не распознает оператор, я не думаю, что он обработает загрузку файла. Скорее всего, это сервер MySQL пытается его прочитать.
По какой-то причине он фактически просто начал правильно добавлять xml в базу данных, после того, как возился со всем, что мог (и на самом деле не помнил, что это было), хотя он по-прежнему заявляет, что тип оператора нераспознан, и когда он продолжается, он затем заявляет, что было добавлено 0 строк. Тем не менее, база данных обновляется внезапно, и я не могу понять, почему или почему этого не было вообще, и в целом, что сейчас происходит в phpMyAdmin.
Немного отредактировал свой вопрос. На самом деле я запускаю PhpMyAdmin на своем компьютере с необходимыми привилегиями. Кроме того, файл xml отлично загружается с помощью команды LOAD DATA LOCAL INFILE, только я бы очень хотел использовать LOAD XML вместо разработки того, как вставлять данные в соответствующие столбцы при использовании LOAD DATA. Дело в том, что тип оператора XML отклоняется MySQL, PhpMyAdmin или чем-то еще, и я не могу понять, почему.