phpmyadmin导入csv后数据为空,主因是bom头导致字段错位、首行被误作数据、空值或隐藏字符引发静默跳过。需转utf-8无bom、勾选“首行为列名”、空值用\n、字段含换行须加双引号包裹。
phpmyadmin导入csv后数据为空,基本不是文件“没内容”,而是解析阶段就跳过了全部行——常见于bom头触发字段偏移、首行被当数据又类型不匹配、或空值被当成null后整行静默丢弃。
CSV开头有UTF-8 BOM导致首字段错位
Excel“另存为CSV UTF-8”实际输出的是UTF-8 with BOM,开头三个字节会被phpMyAdmin读作第一个字段的值。若目标表首列为INT,该字符串无法转整数,整行被跳过,后续所有行也因列数错乱而失效。
- 用VS Code或Notepad++打开CSV → 编码菜单选「转为UTF-8无BOM」→ 保存
- 不要依赖「另存为→CSV(Windows)」,它用ANSI编码,中文直接变乱码
- 导入前在phpMyAdmin里勾选
Fields enclosed by ",但前提是CSV字段真被双引号包裹;若没包裹却勾选,也会导致解析失败
首行被当数据而非列名,且类型强校验失败
报错#1366 - Incorrect integer value: 'id' for column 'id' at row 1是典型症状:phpMyAdmin把CSV第一行(如id,name,email)当真实数据插入,而id字段是INT,字符串'id'无法写入,整行丢弃,后续行因列序错位继续失败。
- 导入页面必须勾选
First line contains column names - 确认CSV第一行字段名顺序与数据库表结构
DESCRIBE table_name完全一致,不支持自动映射 - 字段名避免空格、中文、括号;用
user_id代替User ID
空值未处理导致整行被跳过
CSV中某列为""(空字符串),而数据库对应字段是INT NOT NULL,phpMyAdmin尝试将空字符串转整数失败,该行直接跳过——不报错,也不插入,看起来就是“数据为空”。
使用 qbo-mileage CLI 及用户凭证,从 Airtable、Outlook 或 Google Calendar 记录生成 QuickBooks Online 里程 CSV 文件。
- 导入前检查表结构:
SHOW CREATE TABLE `table_name`,重点关注NOT NULL和类型 - CSV中空值统一写成
\N(反斜杠+N),并在phpMyAdmin导入页勾选Replace NULL values with empty strings或反之 - 数值字段别写
"", "N/A", "NULL"等文字,只留\N或数字
字段含隐藏字符导致解析中断
字段值里混入\r、\n或未闭合双引号(如"addr: 123 Main St.缺结尾引号),phpMyAdmin解析器会在该行中断,后续所有行无法对齐,最终无数据写入。
- 用
cat -A filename.csv(Linux/macOS)或Notepad++的「显示所有字符」功能查隐藏符号 - 字段含换行符时,必须确保被双引号包裹,且
Fields enclosed by设为" - 避免手动拼CSV:漏转义内部双引号(应为
"")会导致整行解析失败
最常被忽略的是:phpMyAdmin不会告诉你哪一行出错,它只会沉默跳过。验证是否真“为空”,先导入单行测试数据(如"1","test","2024-01-01"),再逐步放开限制——比盯着空结果猜原因快得多。
php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!










