我无法将800 MB CSV文件导入MySQL 5.7。
基本上,我收到3列警告,具体行如下:
5290818受影响的行,6警告:1366不正确的整数值: ''对于列'hotel_id'在第308行1366不正确的整数值:'' 对于第336行的列'currency_id'1366不正确的整数值:'' 对于第339行的“hotel_id”列1366不正确的整数值:''表示 行'available_cnt'在第7399行1366不正确的整数值:'' 对于第7508行的“available_cnt”列1366不正确的整数值: ''对于第7700行的列'available_cnt'记录:5290818已删除:0 跳过:0警告:6
据我所知,这需要将用户变量替换为有问题的列,并执行一些检查。
但是,我不懂语法,有人可以向我解释一下吗?
谢谢!
以下是我用于将CSV文件导入MYSQL
的内容LOAD DATA LOCAL INFILE 'C:/Users/Li/Downloads/offer.csv'
INTO TABLE offer
FIELDS TERMINATED BY ','
LINES TERMINATED BY '\n'
IGNORE 1 LINES;
这是表创建的代码:
CREATE TABLE `primary_data`.`oFfer` (
`id` INT NOT NULL,
`hotel_id` INT NULL DEFAULT NULL,
`currency_id` INT NULL DEFAULT NULL,
`source_system_code` VARCHAR(64) NOT NULL,
`available_cnt` INT NULL DEFAULT NULL,
`sellings_price` FLOAT NOT NULL,
`checkin_date` DATE NOT NULL,
`checkout_date` DATE NOT NULL,
`valid_offer_flag` TINYINT(1) NOT NULL,
`offer_valid_from` DATETIME NOT NULL,
`offer_valid_to` DATETIME NOT NULL,
`breakfast_included_flag` TINYINT(1) NOT NULL,
`insert_datetime` DATETIME NOT NULL,
PRIMARY KEY (`id`));
答案 0 :(得分:1)
由于它只有少量项目,因此可以手动处理此任务。首先要注意的是,mysql不提供任何关于'默认排序顺序的保证。但是,由于这是一个新表,我们可以确信按照插入的顺序返回行。因此,以下查询将显示308处的内容:
SELECT * FROM offer LIMIT 307, 1
请注意,偏移量必须比实际行数少1。现在,您可以使用正确的值(使用上述查询向您显示的ID)更新它
UPDATE offer set hotel_id = something where id = someid
重复这5次,你就完成了。