【问题标题】:"ERROR 2013 (HY000): Lost connection to MySQL server during query" while loading data加载数据时出现“ERROR 2013 (HY000): Lost connection to MySQL server during query”
【发布时间】:2015-08-13 18:40:36
【问题描述】:

当我尝试使用load data 命令将数据加载到我的 MySQL(实际上是 MariaDB)表时出现错误:

load data local infile '/tmp/my_data.tsv' 
into table my_schema.my_table
fields terminated by '\t' 
optionally enclosed by '"'
escaped by '\\'
lines terminated by '\n';

尝试herehere 给出的解决方案没有奏效。

【问题讨论】:

  • 为什么要投反对票?我浪费了将近一个小时的时间试图弄清楚这一点。我正在考虑删除表格,因为其他帖子说如果您的表格损坏,您会收到此错误。

标签: mysql mariadb


【解决方案1】:

由于某种原因,当您加载的数据违反外键约束时,MySQL 会给出这个模糊的错误消息(更详细地描述 here)。

通过直接从命令行执行load data 命令,我设法获得了正确的错误消息。 正在运行:

mysql -u username -p --local-infile --execute= \
"load data local infile '/tmp/my_data.tsv' into table my_schema.my_table \
fields terminated by '\t' optionally enclosed by '\"' escaped by '\\\\';"

给出错误信息:

Cannot add or update a child row: a foreign key constraint fails 
(`my_schema`.`my_table`, CONSTRAINT `other_table` FOREIGN KEY
(`id`) REFERENCES `other_table` (`id`))

删除违反外键约束的行后,我可以导入我的数据。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-08-13
    • 1970-01-01
    • 1970-01-01
    • 2012-05-25
    • 2018-10-05
    • 2016-06-19
    • 2016-10-28
    • 2014-08-05
    相关资源
    最近更新 更多