mysql – LOAD DATA INFILE和ON DUPLICATE KEY UPDATE

使用LOAD DATA INFILE时,有没有办法获得常规INSERT语句的ON DUPLICATE KEY UPDATE提供的相同功能?

我想要做的是:对于我的文件的每一行,如果该行不存在,则插入新行,否则更新所选字段.

我的表有5列:A,B,C,D和E.A是主键.有时,我必须插入包含所有值的新行,但有时我只需要更新B和C.但是,重点是我想在同一个文件中重新组合所有INSERT或UPDATE.

谢谢

最佳答案 如果要插入/更新某些字段,则应将数据加载到附加表中,然后使用INSERT,UPDATE或INSERT … SELECT ON DUPLICATE KEY UPDATE语句来复制/修改数据;否则其他字段将设置为NULL.

在这种情况下,LOAD DATA INFILE中的REPLACE选项对您没有帮助.

此外,您可以在dbForge Studio for MySQL(免费快速版)中使用Data Import工具(CSV格式),只需选择追加/更新导入模式并在数据导入向导中指定字段映射.

点赞