我试图将数据加载到表中(显然?)。我的表看起来像这样:Mysql LOAD DATA INFILE - 输入数据意外地被截断
CREATE TABLE IF NOT EXISTS `condensed` (
`id` bigint(20) NOT NULL,
`src` enum('C_X','C_AH','C_AO','C_B','H_X','H_AH','H_AO','H_B') NOT NULL,
`hash` int(11) default NULL,
`ihash` int(11) default NULL,
`last_updated` datetime default NULL,
PRIMARY KEY (`id`,`src`),
UNIQUE KEY `covering` (`id`,`src`,`hash`)
) ENGINE=MyISAM DEFAULT CHARSET=ascii;
我得数据文件与这个样子的:
320115816,'C_X',692983698,854142703,20120216220954
320124536,'C_X',588472049,1059436251,20100527232845
320120196,'C_X',452117509,855369958,20101118105505
...
但是当我加载它使用
LOAD DATA INFILE '/path/to/data.csv'
IGNORE
INTO TABLE `condensed`
(id, src, hash, ihash, last_updated);
它只会加载前两个列(散列,ihash和last_updated为空)。
320115816,'C_X',NULL,NULL,NULL
320124536,'C_X',NULL,NULL,NULL
320120196,'C_X',NULL,NULL,NULL
...
我得到了很多的警告(大概是因为MySQL是丢弃从输入设定的3列和分配的缺省值)
Query OK, 20 rows affected, 100 warnings (0.00 sec)
Records: 20 Deleted: 0 Skipped: 0 Warnings: 100
(我打算加载多个畅想记录的 - 不只是20 )
我使用mysqlimport得到同样的问题。
从LOAD DATA语句(数据库中的相同字段和顺序与文件中相同)省略显式字段列表导致了相同的结果。
MySQL版本是5.0.22,输入文件中没有不可打印的字符。
帮助!
将NOT NULL约束添加到三个mising列只是导致它们被填充为0 – symcbean 2012-07-10 12:14:20
尝试添加以'\ n'开头的行'''' – jcho360 2012-07-10 12:18:24
删除引号并没有帮助 – symcbean 2012-07-10 12:18:48