Mysql #1054-未知列';名称';在';字段列表';

Mysql #1054-未知列';名称';在';字段列表';,mysql,xml,Mysql,Xml,我有以下XML: <product> <id>3</id> <name>myname</name> <weight>67</weight> <price>$34.00</price> </product> 我正在尝试使用以下代码将xml文件插入到表中: LOAD XML LOCAL INFILE 'pathtothefile/filename.xml' INTO TABLE

我有以下XML:

<product>
<id>3</id>
<name>myname</name>
<weight>67</weight>
<price>$34.00</price>
</product>
我正在尝试使用以下代码将xml文件插入到表中:

LOAD XML LOCAL INFILE 'pathtothefile/filename.xml'
INTO TABLE mytable
ROWS IDENTIFIED BY '<product>'
SET ID = id, Title=name, Price=price;
加载XML本地内嵌'pathtothefile/filename.XML'
进入表格mytable
由“”标识的行
设置ID=ID,Title=name,Price=Price;
但我遇到了这个错误#1054-字段列表中的未知列“name”

尝试以下操作:

LOAD XML LOCAL INFILE 'pathtothefile/filename.xml'
INTO TABLE mytable
ROWS IDENTIFIED BY '<product>'
SET ID = id, Title=`name`, Price=price;
;
加载XML本地内嵌'pathtothefile/filename.XML'
进入表格mytable
由“”标识的行
SET ID=ID,Title=name`,Price=Price;
;
或者这个:

LOAD XML LOCAL INFILE 'pathtothefile/filename.xml'
INTO TABLE mytable
ROWS IDENTIFIED BY '<product>'
(ID, Title, Price)
;
加载XML本地内嵌'pathtothefile/filename.XML'
进入表格mytable
由“”标识的行
(身份证、头衔、价格)
;

如果相应字段的名称不相同,我将避免尝试编写一条SQL语句来进行XML到数据库字段的映射

创建一个列名与XML标记相同的临时表,或者创建一个类似于mytable和ALTER的临时表。那么这些陈述就足够了:

CREATE TEMP TABLE myXMLtable LIKE mytable;

ALTER myXMLtable... (rename the fields like you have them in the XML)

LOAD XML LOCAL INFILE '/whatever/filename.xml'
INTO TABLE myXMLtable
ROWS IDENTIFIED BY '<product>';
像mytable一样创建临时表myXMLtable;
更改myXMLtable。。。(像在XML中一样重命名字段)
加载XML本地填充“/whatever/filename.XML”
进入表myXMLtable
由“”标识的行;

然后再次重命名并将myXMLtable条目复制到mytable

它不起作用。现在我将用另一种方式来做,但我想了解为什么这不起作用。
CREATE TEMP TABLE myXMLtable LIKE mytable;

ALTER myXMLtable... (rename the fields like you have them in the XML)

LOAD XML LOCAL INFILE '/whatever/filename.xml'
INTO TABLE myXMLtable
ROWS IDENTIFIED BY '<product>';