Mysql
MySQL Workbench:我需要根據 csv 中的值更新表中的值
新手問題,但我嘗試創建一個新表並將 csv 導入到該表然後更新,但我一直遇到問題,任何指導將不勝感激。
我有一個包含大約 1500 個條目的 csv 文件,其中包含一個“ID”列和一個“Unit”列。我試圖找出在我的 mySQL 工作台表中更新我的 csv 文件中唯一 ID 的“單元”的最佳方法。
CSV 文件
id_inv unit 1, aaa 2, aaa 3, aaa 5, aaa 10, aaa
數據庫表
id_inv unit ... other columns 1 bbb 2 bbb 3 bbb 4 bbb 5 bbb 6 bbb 7 bbb 8 bbb 9 bbb 10 bbb
將 CSV 文件導入臨時表,然後執行 UPDATE。例如:
DROP TEMPORARY TABLE IF EXISTS tempTable; CREATE TEMPORARY TABLE tempTable (id_inv int, unit varchar(255), PRIMARY KEY (id_inv) ); LOAD DATA INFILE 'C:\\PathToYour\\FileName.csv' INTO tempTable (id_inv, unit) FIELDS TERMINATED BY ',' LINES TERMINATED BY '\r\n'; UPDATE DBtable t1 JOIN tempTable t2 ON t1.id_inv = t2.id_inv SET t1.unit = t2.unit; DROP TEMPORARY TABLE tempTable;
當然,您可能需要對欄位和行終止符以及文件路徑使用不同的符號。此外,如果您正在使用遠端伺服器,請使用“LOAD DATA LOCAL INFILE”命令。