【发布时间】:2015-11-05 02:58:39
【问题描述】:
我有一个使用 MYSQL Workbench 管理的 MYSQL 数据库。我正在尝试将 Excel 中的数据(当然是转换为 CSV)导入到现有表中,我经常这样做并且通常没有问题。从技术上讲,从 MYSQL 的角度来看,MYSQL Workbench 通过生成一系列“插入”语句来处理这个问题,而不是作为导入语句。
我遇到了问题,因为我要导入的特定数据集在最后一列中没有值。在数据库中,表中的最后一列需要一个 2 位数字(或 NULL)。当我导入数据并且 MYSQL Workbench 将其转换为“插入”语句时,我希望最后一列中插入的值是 NULL。相反,我尝试插入的每一行都不断收到 1644 错误。
这是我尝试过但没有奏效的方法: - 将最后一列留空 - 用 NULL 字填充列 - 用字符 \N 填充列 - 添加一个假行(稍后将被删除),它实际上在最后一列中有一个值,以便它可以意识到那里有一列
我没有想法。理想情况下,我想坚持使用 MYSQL Workbench 的“导入”(即插入)功能的过程,这样我就可以从 Excel 中添加数据块,而且我不能手动编辑数据库中的每一行。
示例(当我将最后一列留空时) 下面是 CSV 中一行数据的样子: 4209,阅读,2015,1。秋季,10/12/15,114,212,3.4,93
自动生成的“插入”如下所示:
插入Tests(TestID,Subject,Year,Season,TestStartDate,Duration,RIT,StdError,@98764031AccuratePercentile987654331AccuratePercentile987654331 ', '读书', '2015', '1. Fall', '10/12/15', '114', '212', '3.4', '93', '');
这是错误的样子(每个“插入”我都会得到其中一个)
ERROR 1644: 1644: Error: 试图在 Percentile/Duration/RIT/AccuratePercentile 中插入不正确的值;测试编号:4209
SQL 语句:
插入Tests(TestID,Subject,Year,Season,TestStartDate,Duration,RIT,StdError,AccuratePercentile987654342AccuratePercentile987654342AccuratePercentile, ', '读书', '2015', '1. Fall', '10/12/15', '114', '212', '3.4', '93', '')
【问题讨论】:
-
您在什么平台上使用哪个 MySQL Workbench 版本?如果不是最新的尝试。
-
我在 Mac 上,我有 MySQL Workbench 6.2 版。说是最新版
标签: mysql excel mysql-workbench sql-insert bulkinsert