问题:
将 XML 文件导入 MySQL表的列计数不匹配,导致错误:“列计数与值计数不匹配。”
原因:
XML 文件缺少一个列值,该列值对应数据库表中的id列,具有自增属性。
解决方案:
通过在导入时排除id列,可以依赖使用 MySQL 的自动增量函数来填充它。为此,请在 LOAD XML 语句中指定要导入的列,并省略 id 列。
语法:
LOAD XML LOCAL INFILE '/pathtofile/file.xml' INTO TABLE my_tablename(personal_number, firstname, ...);
示例:
在您的情况下,以下语句会将 XML 文件导入到 my_tablename 表中,不包括 id 列:
LOAD XML LOCAL INFILE '/pathtofile/file.xml' INTO TABLE my_tablename(personal_number, firstname, lastname, email, start_time, end_time, employee_category);
更智能的 XML 导入处理:
作为 LOAD XML 函数的替代方案,您可以考虑使用 MariaDB 提供的 XML to MySQL 实用程序。它具有多种优势,包括:
安装和使用:
sudo apt-get install mariadb-server-xml2mysql
mysql -u username -p password database_name < /pathtofile/file.xml
以上是当列数不匹配时如何将 XML 文件导入 MySQL 表?的详细内容。更多信息请关注PHP中文网其他相关文章!