【发布时间】:2013-10-30 06:46:16
【问题描述】:
我正在尝试将数据导入 MySQL 表。
桌子:
CREATE TABLE `MYTABLE` (
`F1` bigint(20) NOT NULL,
`F2` bigint(20) NOT NULL,
`F3` int(11) NOT NULL,
`F4` bigint(20) DEFAULT NULL,
`F5` tinyint(4) NOT NULL,
`F6` bigint(20) NOT NULL,
`F7` bigint(20) NOT NULL,
PRIMARY KEY (`F1`)
) ENGINE=InnoDB default charset=latin1;
数据文件包含这种形式的记录,用tab分隔:
229733561174 44224449355443 0 0 0 55555557555000 12345678901
导入命令:
mysql> load data infile 'try.txt' INTO TABLE MYTABLE;
我收到的警告:
| Level | Code | Message |
|---|---|---|
| Warning | 1366 | Incorrect integer value: '229733561174' for column 'F1' at row 1 |
| Warning | 1366 | Incorrect integer value: '44224449355443' for column 'F2' at row 1 |
| Warning | 1366 | Incorrect integer value: '0 0 0 55555557555000 12345678901' for column 'F3' at row 1 |
| Warning | 1261 | Row 1 doesn't contain data for all columns |
| Warning | 1261 | Row 1 doesn't contain data for all columns |
| Warning | 1261 | Row 1 doesn't contain data for all columns |
| Warning | 1261 | Row 1 doesn't contain data for all columns |
7 rows in set (0.00 sec)
我不明白为什么前两列的值是Incorrect integer value,以及为什么第 3-7 列的值都被视为一列。
我尝试将字段分隔符更改为“,”(在加载数据命令中指定),但仍然收到相同的警告。
输出表的所有列都包含 0(获得 NULL 的可选列除外)。
谁能告诉我我做错了什么?
【问题讨论】:
-
尝试将列的默认值设置为 0。
-
@Mihai 我试过了 - 它没有帮助。不过感谢您的建议。
标签: mysql import load-data-infile