如何在从csv加载数据时忽略/跳过LOAD DATA INFILE中的无效数据行。

时间:2013-02-13 06:42:19

标签: mysql load-data-infile

我正在尝试从CSV文件加载数据,在少数日期字段列中,CSV中的数据无效。但是当我运行LOAD DATA INFILE语句时,它会在这些列中插入NULL值。如何跳过包含无效数据的整行?

3 个答案:

答案 0 :(得分:2)

如果您正在使用文件功能加载,则无法跳过这些行。做一件事,最初将所有数据加载到临时表中,然后从该表中仅将有效行拉到临时表。一旦将所有行插入到临时表中,删除该临时表!

答案 1 :(得分:0)

通过csv文件加载数据时。日期应为yyyy-mm - dd HH:MM:SS格式。否则它会插入NULL值。在csv文件中选择日期整列并右键单击它。单击格式单元格并选择右侧的“日期”列,然后选择“自定义”。然后你可以看到格式'yyyy / mm / dd'将其改为'yyyy-mm - dd HH:MM:SS'。使用csv文件左上角的format painter对所有日期列执行相同操作。这应该可以解决你的问题。

答案 2 :(得分:0)

创建表时,您可以在日期列上使用NOT NULL来跳过无效的空日期。