MySQL导入数据库后为何无法创建数据行?
问题描述
我尝试通过phpMyAdmin导入一个大小为8.77 MB的数据库,系统提示导入成功,但仅生成了4张无数据行的空表。
我未使用cmd等命令行工具,仅通过phpMyAdmin页面顶部的导入选项,选择文件后点击“导入”操作,耗时约10秒。
我曾尝试导入指定的压缩包文件(dbname.sql.zip),但系统提示不支持该压缩格式,因此改为上传未压缩的sql文件。此外我还多次尝试导入、刷新页面、重启XAMPP,但均无效果,且已确认待上传的sql文件包含数据。
phpMyAdmin未显示任何错误,仅提示:
导入已成功完成,已执行26条查询。(mexico.sql)
请问我哪里操作出错了?
可能的原因及解决方法
- 执行超时或上传限制:phpMyAdmin依赖PHP的配置参数,若
upload_max_filesize、post_max_size设置过小,或max_execution_time过短,会导致仅执行了前26条建表语句,后续插入数据的语句被中断。打开XAMPP中的php.ini文件,调整以下参数后重启Apache:upload_max_filesize = 15Mpost_max_size = 20Mmax_execution_time = 300
- SQL文件语法异常:检查你的SQL文件,确认前26条是不是仅为建表语句,后面的插入语句是否存在语法错误(比如引号不闭合、分号缺失、关键字冲突)。可以尝试把SQL文件拆分成建表和插入数据两部分,分开导入测试。
- 导入选项配置错误:导入时确认phpMyAdmin的导入设置:格式选择“SQL”,字符集和SQL文件保持一致,不要勾选“部分导入”(该选项会在遇到问题时停止执行,仅完成已执行的语句)。
- 数据库权限不足:确认当前使用的数据库账号拥有
INSERT权限,虽然这种情况通常会报错,但也可以检查账号权限配置,确保能正常写入数据。 - 文件编码不兼容:若SQL文件编码和phpMyAdmin默认编码不一致,可能导致数据语句被解析失败。将SQL文件转成UTF-8编码后重新尝试导入。
内容的提问来源于stack exchange,提问作者valeria
相关产品推荐
相关产品推荐

