使用LOAD XML导入XML到MySQL仅插入一行的问题求助
解决MySQL导入XML仅插入第一行的问题
你的问题出在ROWS IDENTIFIED BY的参数设置上:你指定了<users>作为行识别标签,但这是XML的根节点,包裹了所有数据行;实际每条用户数据对应的是<row>节点,MySQL会把整个<users>节点当作一行处理,所以只插入了第一条数据。
修正后的SQL语句如下:
LOAD XML LOCAL INFILE 'file_path' INTO TABLE table_name ROWS IDENTIFIED BY '<row>';
额外注意事项
- 确保MySQL表结构和XML中
<row>的属性完全对应(字段名、数据类型要匹配,比如Id、Reputation等字段要存在且类型适配) - 确认你有使用
LOCAL INFILE的权限,若报错可检查local_infile参数是否开启 - 保证XML文件的编码(utf-8)和数据库表的编码一致,避免乱码或导入失败
内容的提问来源于stack exchange,提问作者Z.Edibo
相关产品推荐
相关产品推荐

