使用导入向导导入 CSV 时 MYSQL 崩溃

Posted

技术标签:

【中文标题】使用导入向导导入 CSV 时 MYSQL 崩溃【英文标题】:MYSQL Crashes while importing CSV using import wizard 【发布时间】:2021-05-16 05:23:07 【问题描述】:

我已经设置了 mysql 8.0.23 365764 CE。已经在其中创建了 Schema 和 Table。有3张桌子。从 CSV 导入 Tab1 和 2 效果很好。 Tab1 有 66 条记录,Tab2 有 54714 条记录。我在这里使用导入向导。 由于某种原因,当我尝试导入 Tab3 时,MYSQL Workbench 只是崩溃而没有任何错误。 Tab3 有 6200 条记录。所有这些数据都是从 Excel 中复制的。确保复制唯一没有格式的纯数据。不知道它崩溃的原因。

复制步骤 -

Windows 日志有此信息 -

*Fault bucket 1625754702484237642, type 4
 Event Name: APPCRASH
 Response: Not available
 Cab Id: 0
 Problem signature:
 P1: MySQLWorkbench.exe
 P2: 8.0.23.0
 P3: 5fdaedc8
 P4: _mforms.pyd
 P5: 0.0.0.0
 P6: 5fdaed25
 P7: c0000005
 P8: 0000000000004485
 P9: 
 P10: 
 Attached files:
 \\?\C:\ProgramData\Microsoft\Windows\WER\Temp\WER8389.tmp.mdmp
 \\?\C:\ProgramData\Microsoft\Windows\WER\Temp\WER87EF.tmp.WERInternalMetadata.xml
 \\?\C:\ProgramData\Microsoft\Windows\WER\Temp\WER881E.tmp.xml
 \\?\C:\ProgramData\Microsoft\Windows\WER\Temp\WER882C.tmp.csv
 \\?\C:\ProgramData\Microsoft\Windows\WER\Temp\WER888B.tmp.txt
  These files may be available here:

  C:\ProgramData\Microsoft\Windows\WER\ReportArchive\AppCrash_MySQLWorkbench.e_6bxxxxxx....

 Analysis symbol: 
 Rechecking for solution: 0
 Report Id: da476bd8-6fcb-46da-9054-75a3bd33e01a
 Report Status: 268435456
 Hashed bucket: fecdb3dd9b2c1a53768fd749cd7e6d4a
 Cab Guid: 0*
CREATE TABLE `mapinfo` (
  `ID` int NOT NULL,
   `BusNumber` varchar(45) DEFAULT NULL,
   `AreaNum` varchar(2000) DEFAULT NULL,
   `DD` varchar(2000) DEFAULT NULL,
   `BasekV` varchar(45) DEFAULT NULL,
   `Mapping` varchar(45) DEFAULT NULL,
   `MatchingWith` varchar(45) DEFAULT NULL,
   `Note` varchar(45) DEFAULT NULL,
   `Assignee` varchar(45) DEFAULT NULL,
   `ExtractedKV` varchar(45) DEFAULT NULL,
   `ExtractedCoord` varchar(45) DEFAULT NULL,
    PRIMARY KEY (`ID`)
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

【问题讨论】:

你能在 pastebin.com 上发帖吗? A) SHOW CREATE TABLE table-3;结果和 B) 6200 行 csv 输入文件以允许测试/分析? 谢谢,@WilsonHauck - excel 文件是机密文件。抱歉,不能分享。这是创建表语句 - 已使用 Create Table 语句更新问题。 那些单引号是SQL中的,还是键盘左上角的键? 我刚刚从 Workbench 生成它。 【参考方案1】:

您的 SHOW CREATE TABLE 表明 ID 之后的每一列都是 varchar。

根据本教程关于 CSV 输入数据, 每个 VARCHAR 列都应该被“xxxxxx xxxx”包围 - https://www.mysqltutorial.org/import-csv-file-mysql-table/

您的数据并没有很好地遵循这种模式。

【讨论】:

你是否建议有一个行数据 - 1,340553,314,Wilson Substation,161,Completed,Envision,Manually extract for Winson,Ashwin,345'|'161'|'0,37.44939 '| '-87.0884 as 1,"340553","314","Wilson Substation","161","Completed","Envision","Manually Extracted for Winson","Ashwin","345'|'161'| '0,37.44939'| '-87.0884" 通过第八个 CSV 列,您遵循了双引号要求。在“阿什温”之后是相当奇怪的。请查看我的个人资料、网络个人资料以获取联系信息和免费下载的实用程序脚本以协助进行性能调整并取得联系。 在“Ashwin”之后,我正在合并由“|”分隔的 3 个字段中的条目。计划在导入 MySQL 后将其拆分到我的脚本中。 共有 11 列,数据匹配良好。刚刚又把数据贴到这里了 - pastebin.com/Rk4FyV7H 已经删除了所有不匹配的数据。请你看看,让我知道。 非常感谢@Wilson 您的观察是正确的。必须从“Ashwin”之后的列条目中删除单引号,一切正常。能够导入所有数据。感谢您回答我的问题并耐心帮助解决这个问题。

以上是关于使用导入向导导入 CSV 时 MYSQL 崩溃的主要内容,如果未能解决你的问题,请参考以下文章

mysql 表导入向导无法导入 csv 文件

无法使用 phpmyadmin 向导将 csv 导入 mysql 数据库

MySQL Workbench 数据导入向导未显示 CSV 中的所有列

navicat导入excel到mysql中的导入向导问题

MySQL工作台表数据导入向导极慢

为啥 MySQL Workbench 表数据导入向导会导入 0 条记录?