You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MySQL执行LOAD XML导入XML数据时lessonName字段为空问题

问题原因

MySQL的LOAD XML默认的隐式标签-列名匹配逻辑存在偶发的驼峰命名映射失效问题,你场景中unitName可以正常匹配但lessonName匹配失败就属于这类情况,该问题和XML结构、XSD约束无关。

解决方法

你不需要修改XML或者表结构,只要修改导入语句,显式指定标签和列的映射关系即可,两种可用的写法如下:

写法1:直接指定字段顺序

按XML中标签的顺序列出表的对应字段,强制匹配逻辑按名称对应:

LOAD XML INFILE 'Unit1_introToHTML.xml' 
INTO TABLE LESSON 
ROWS IDENTIFIED BY '<row>'
(courseID, unitNumber, unitName, lessonName, textBody);

写法2:变量显式赋值(兼容性更强)

如果第一种写法仍不生效,可以用用户变量绑定标签值再赋值给表字段,完全绕开隐式匹配逻辑:

LOAD XML INFILE 'Unit1_introToHTML.xml' 
INTO TABLE LESSON 
ROWS IDENTIFIED BY '<row>'
(@courseID, @unitNumber, @unitName, @lessonName, @textBody)
SET 
  courseID = @courseID,
  unitNumber = @unitNumber,
  unitName = @unitName,
  lessonName = @lessonName,
  textBody = @textBody;

执行修改后的导入语句即可正常读取lessonName字段的内容。


内容的提问来源于stack exchange,提问作者RazelofHyrulez

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 12:18:01