gpt4 book ai didi

mysql - 加载 XML 无法识别的语句类型

转载 作者:行者123 更新时间:2023-11-29 07:32:31 24 4
gpt4 key购买 nike

如果我在 phpMyAdmin 中运行一个简单的 MySQL 查询:

LOAD XML LOCAL INFILE "C:/Users/user/Documents/file.xml"
INTO TABLE mytable
CHARACTER SET utf8
ROWS IDENTIFIED BY '<tag>'

它给我“无法识别的语句类型。(在位置 0 的“LOAD”附近)”以及“#7890 - 无法找到文件”如果找不到文件。

但是,如果确实找到了该文件,它会继续运行查询,将 0 个结果保存到表中,尽管它仍然无法识别语句类型。

我使用的是 MySQL 5.7.19 版,PhpMyAdmin 4.7.4 版

关于为什么它不能识别 XML 语句,或者如果它不能识别该语句,为什么它会以空结果继续进行的任何想法?

编辑:为了增加一些见解,这是我尝试过的:

  • 加载数据 - 工作正常,将 xml 加载到数据库中,只是它将数据作为 url 加载到第一列中,这是预期的,但查询有效。
  • 使用 Microsoft 的示例 xml 文件 (books.xml) 来自:Microsoft sample xml page确保我的 xml 没有错。 - 结果仍然是空的

MySQL 只是好像认为 LOAD "XML"不是语句类型,好像我用的是 5.2 之前的。 verison 之类的,当我在 5.7. 时,在本地主机上使用 phpmyadmin 和 WAMP 服务器。

最佳答案

PhpMyAdmin 是第三方基于 Web 的 GUI 工具,既不隶属于 MySQL 也不隶属于 Oracle 公司。说...

  • MySQL 服务器生成的错误消息看起来不像那样。事实上,Unrecognized statement type 似乎不是有效的 server error .
  • 如果您收到语法错误但语句实际运行,则很可能是 PhpMyAdmin 问题。
  • 您始终可以使用例如official command-line client .
  • LOAD 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,并且运行它的用户有权限读取您自己的用户配置文件中的文件。

关于mysql - 加载 XML 无法识别的语句类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50622847/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com