我有一个看起来像这样的XML文件:
<?xml version="1.0" encoding="UTF-8"?>
539 Name Surname email.domain.com 2011-04-02 13:30:00 2011-04-02 18:15:00 1,2,4,5,22,37,38,39,41,43,44 539 Name Surname email.domain.com 2011-04-02 13:30:00 2011-04-02 18:15:00 1,2,4,5,22,37,38,39,41,43,44 539 Name Surname email.domain.com 2011-04-02 13:30:00 2011-04-02 18:15:00 1,2,4,5,22,37,38,39,41,43,44 我试图使用SQL语句将其导入MySQL:
use databasename; LOAD XML LOCAL INFILE '/pathtofile/file.xml' INTO TABLE my_tablename; 表my_tablename具有以下字段:
id (auto increment id) personal_number(varchar) firstname(varchar) lastname(varchar) email(varchar) start_time(varchar) end_time(varchar) employee_category(varchar) 我收到错误消息:错误代码:1136列数与第1行的值数不匹配
我正在使用MySQL 5.1.56
我认为发生此错误是因为数据库表具有字段ID,该字段ID在XML文件中不存在。如何使用内置函数的MySQL查询来导入此XML文件,以使其在导入过程中跳过id列并依赖id列的自动递增功能?是否有一些更聪明的方法来处理MySQL中的XML文件导入?也许有更好的语句可以指定列映射?
谢谢!
您可以指定如下字段:
LOAD XML LOCAL INFILE '/pathtofile/file.xml' INTO TABLE my_tablename(personal_number, firstname, ...); 来源:stack overflow
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。