怎样在Navicat 16中将JSON数据批量导入MySQL

浅丽同学_8277

浅丽同学_8277

2026-09-25

858人浏览

原创

navicat 16仅支持导入扁平json数组([{...},{...}]),不支持嵌套结构;需验证json合法性、确保无bom、根为数组、字段名大小写严格匹配,并在导入向导中正确设置分隔符和字段映射。

怎样在navicat 16中将json数据批量导入mysql

Navicat 16 能直接导入 JSON,但只支持扁平结构的数组格式(即 [{...}, {...}]),嵌套对象或深层数组会丢字段、截断或静默失败。

确认JSON文件结构是否合法且可导入

Navicat 不校验 JSON 语法,非法格式会导致中途卡死或“成功但无数据”。必须提前验证:

  • 用 VS Code / Sublime / JSON.cn 打开文件,确认能正常高亮解析,无 Unexpected token 类错误
  • 首层必须是 JSON 数组([{...}, {...}]),不能是单个对象({...})或带外层包装(如 {"data": [...]})
  • 若原始 JSON 是嵌套结构(例如含 "profile": {"name": "A"}),需先用 jq 或 Python 提前展平:jq '.data[] | {id: .user.id, name: .user.profile.name, orders: .orders | join(",")}' input.json > flat.json
  • 避免 BOM 头:保存为 UTF-8 **without BOM**(记事本另存为时勾选“UTF-8”,不要选“UTF-8-BOM”)

导入向导中关键步骤的参数选择

右键目标表 → “导入向导” → 类型选 JSON 文件 后,以下几步极易出错:

Comprehensive Three.js 3D graphics reference
Comprehensive Three.js 3D graphics reference

详细的 Three.js 3D 图形参考,涵盖场景设置、相机、几何体、材质、光照、动画、控制器、加载器、数学工具和调试。

下载
  • 选择分隔符 页面:务必选第一项空白选项(代表根数组),不是 Root 也不是字段名;选错会导致只导入一个字段(整个 JSON 字符串)或报 Invalid path
  • 表行标签 页面:同样选空(None),不选任何字段;否则 Navicat 会误把某个字段当主键索引,跳过其余数据
  • 字段对应 步骤:左侧 JSON 字段名与右侧表字段名**必须完全一致(大小写敏感)**;若不一致,手动拖拽匹配,别依赖自动映射——自动映射只按名称字符串匹配,不识别语义
  • 字段类型 列:对长文本字段(如含 HTML、日志、描述),别默认用 VARCHAR(255);遇到截断报错时,手动改为 LONGTEXT 或 TEXT

导入失败常见报错及对应处理

这些错误不会弹窗提示具体原因,而是显示“0 行插入”或中途停止:

  • Data too long for column 'xxx':字段长度不足 → 回到“字段对应”页,点该字段右侧的“类型”下拉框,改用 TEXT 或 LONGTEXT
  • Incorrect datetime value:JSON 中日期格式非 "2023-10-05" 或 "2023-10-05 14:22:00" → 用正则替换为标准格式,或在 Navicat 的“附加选项”里勾选 Allow invalid date
  • Field 'xxx' doesn't have a default value:表中某字段设了 NOT NULL 但 JSON 缺失该字段 → 在“字段对应”页,对该字段点击右侧“忽略”按钮,或提前用脚本补全缺失字段
  • 导入后部分字段为 NULL:JSON 键名拼写错误(如 "user_name" vs "username")或大小写不一致 → 重新检查字段映射,开启“区分大小写”再试

导入前必须做的三件事

跳过这三步,90% 的问题都源于此:

  • 用 head -n 20 your.json 或文本编辑器看前 20 行,确认是 [{ 开头的数组,且每条记录字段数量一致
  • 在 MySQL 中执行 SHOW CREATE TABLE your_table\G,抄下所有字段名和类型,逐个对照 JSON 键名
  • 对超 1 万行的数据,先导 100 行测试:jq 'limit(100; .)' input.json > test.json,验证流程无误后再全量跑

最易被忽略的是 JSON 根结构和字段名大小写——Navicat 不报错,只静默跳过不匹配字段,等你刷完表才发现数据少了一半。动手前花两分钟看一眼原始文件开头,比重跑三次导入更省时间。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

mysql js json navicat

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
mysql修改数据表名
mysql修改数据表名

MySQL修改数据表:1、首先查看数据库中所有的表,代码为:‘SHOW TABLES;’;2、修改表名,代码为:‘ALTER TABLE 旧表名 RENAME [TO] 新表名;’。php中文网还提供MySQL的相关下载、相关课程等内容,供大家免费下载使用。

2023.06.20

1953

6

MySQL创建存储过程
MySQL创建存储过程

存储程序可以分为存储过程和函数,MySQL中创建存储过程和函数使用的语句分别为CREATE PROCEDURE和CREATE FUNCTION。使用CALL语句调用存储过程智能用输出变量返回值。函数可以从语句外调用(通过引用函数名),也能返回标量值。存储过程也可以调用其他存储过程。php中文网还提供MySQL创建存储过程的相关下载、相关课程等内容,供大家免费下载使用。

2023.06.21

1199

5

mongodb和mysql的区别
mongodb和mysql的区别

mongodb和mysql的区别:1、数据模型;2、查询语言;3、扩展性和性能;4、可靠性。本专题为大家提供mongodb和mysql的区别的相关的文章、下载、课程内容,供大家免费下载体验。

2023.07.18

715

5

mysql密码忘了怎么查看
mysql密码忘了怎么查看

MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS 应用软件之一。那么mysql密码忘了怎么办呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

2023.07.19

2552

5

mysql创建数据库
mysql创建数据库

MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS 应用软件之一。那么mysql怎么创建数据库呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

2023.07.25

4208

4

mysql默认事务隔离级别
mysql默认事务隔离级别

MySQL是一种广泛使用的关系型数据库管理系统,它支持事务处理。事务是一组数据库操作,它们作为一个逻辑单元被一起执行。为了保证事务的一致性和隔离性,MySQL提供了不同的事务隔离级别。php中文网给大家带来了相关的教程以及文章欢迎大家前来学习阅读。

2023.08.08

999

3

sqlserver和mysql区别
sqlserver和mysql区别

SQL Server和MySQL是两种广泛使用的关系型数据库管理系统。它们具有相似的功能和用途,但在某些方面存在一些显著的区别。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

2023.08.11

4471

4

mysql忘记密码
mysql忘记密码

MySQL是一种关系型数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。那么忘记mysql密码我们该怎么解决呢?php中文网给大家带来了相关的教程以及其他关于mysql的文章,欢迎大家前来学习阅读。

2023.08.14

4042

7

mysql事务隔离级别
mysql事务隔离级别

mysql规范中定义了四种事务隔离级别,不同的隔离级别对事务的处理有所不同。本专题为大家提供mysql事务隔离级别相关的文章内容,大家可以免费体验。

2023.08.16

5194

11

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PostgreSQL vs MySQL
PostgreSQL vs MySQL

共1课时 | 172人学习

使用phpenv集成环境安装极致CMS
使用phpenv集成环境安装极致CMS

共2课时 | 274人学习