MySQL LOAD二进制数据"警告:1366不正确的整数值"

时间:2016-06-29 20:49:16

标签: mysql sql binary load

在我本地Mac上的MYSQL 6.3中,我创建了一个包含下表的数据库,以及其他许多数据库:

CREATE TABLE DIVISIONS
   (DIVISION                TINYINT            NOT NULL,
    DESCRIPTION             VARCHAR(31)        NULL);

现在我正在尝试从文件中加载数据,文件的人给我说的是二进制和固定长度。

LOAD DATA LOCAL
INFILE '/Users/.../dat/div.dat' INTO TABLE `DIVISIONS` (@var1, @var2)
SET DIVISION = SUBSTR(@var1,0,1), DESCRIPTION = SUBSTR(@var2,1,31);

0  NULL

然后我尝试了一些变化并出现了同样的错误。

LOAD DATA LOCAL
INFILE '/Users/.../dat/div.dat' INTO TABLE `DIVISIONS` (@var1)
SET DIVISION = SUBSTR(@var1,0,1), DESCRIPTION = SUBSTR(@var1,1,31);

以下是结果模式:

0   NULL           ... DESCRIPTION = SUBSTR(@var2,1,31);
0                  ... DESCRIPTION = SUBSTR(@var1,0,31);
0   Furniture      ... DESCRIPTION = SUBSTR(@var1,1,31);
0   Furniture      ... DESCRIPTION = SUBSTR(@var1,2,31);
0   urniture       ... DESCRIPTION = SUBSTR(@var1,3,31);
0   rniture        ... DESCRIPTION = SUBSTR(@var1,4,31);

三个问题:

首先,如何返回下一行的值?

其次,当我尝试引用@ var2?

时,为什么我会得到NULL

第三,只是好奇,但为什么...... @ var1,1 ...返回相同的... @ var1,2 ......?

0 个答案:

没有答案