如何在遇到某个字段时结束LOAD DATA INFILE

时间:2012-09-21 17:19:59

标签: mysql csv

这是我到目前为止的SQL查询:

LOAD DATA INFILE 'filename.csv'
INTO TABLE zt_accubid
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
LINES TERMINATED BY '\r\n'
IGNORE 4 LINES

一旦遇到value="xyz"的字段,我需要能够结束该过程。 这可能吗?

2 个答案:

答案 0 :(得分:1)

LOAD DATA INFILE没有这样的选择。虽然有几种工作方式,但

  • 您可以通过先操作文件来解决MySQL之外的问题
  • 正如Alain Collins所提到的,如果包含您标记的列只有唯一值,并且您在转码中没有LOAD DATA,则可以使用唯一键作为限制。
  • 您可以在桌面上使用触发器作为制服者
  • 如果标记靠近表格末尾或者开销对您不重要,您可以在临时表格中填写LOAD DATA,然后使用INSERT INTO ... SELECT仅移动相关数据进入决赛桌
  • 类似地,您可以加载所有数据,然后删除相关部分

答案 1 :(得分:0)

当然 - 在加载之前在数据库中添加一行,并在其上放置一个唯一键。 LOAD在碰到副本时会失败。