使用LOAD DATA INFILE时,有没有办法获得常规INSERT语句的ON DUPLICATE KEY UPDATE提供的相同功能?
我想要做的是:对于我的文件的每一行,如果该行不存在,则插入新行,否则更新所选字段。
我的表有5列:A,B,C,D和E.A是主键。有时,我必须插入包含所有值的新行,但有时我只需要更新B和C.但是,重点是我想在同一个文件中重新组合所有INSERT或UPDATE。
由于
答案 0 :(得分:2)
如果要插入/更新某些字段,则应将数据加载到附加表中,然后使用INSERT,UPDATE或INSERT ... SELECT + ON DUPLICATE KEY UPDATE语句复制/修改数据;否则其他字段将设置为NULL。
LOAD DATA INFILE中的REPLACE选项在这种情况下无法帮助您。
此外,您可以在dbForge Studio for MySQL(免费快速版)中使用Data Import工具(CSV格式),只需选择追加/更新导入模式并在数据导入向导中指定字段映射。