这里是我使用csv文件加载mysql表的查询。LOAD DATA LOCAL INFILE需要帮助
LOAD DATA LOCAL INFILE table.csv REPLACE INTO TABLE table1 FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '\'' LINES TERMINATED BY 'XXX' IGNORE 1 LINES
SET date_modified = CURRENT_TIMESTAMP;
假设我的CSV包含500个包含15列的记录。我更改了三行,并以'XXX'结尾。我现在想用这个文件更新mysql表。我的主键是自动递增的值。当我运行这个查询时,所有的500行都得到了旧数据的更新,我更改的行也被添加为新数据。我不想要新的。我希望我的表格可以用原来的csv替换。我尝试将我的主键更改为非AI,但它仍然无效。请指点?谢谢。
为什么不截断表格然后导入数据文件? – Ander2
是的,这是一个选项,但用户需要这种方式。标记行更改很容易,而不是删除未更改的行。您的意思是,对吧? – user1165952
我认为@Ander2的意思是你清除其所有内容的现有表,然后导入更改后的文件。 – SQLCurious