這裏是我使用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