Mysql
MySQL 通過 CSV 導入和替換
我有一個名為
items
10,000 多條記錄的 MySQL 數據庫表。在這些記錄中,我只想導出item_isbn IS NULL
.
SELECT * FROM Items WHERE item_isbn IS NULL
生成一個包含 500 條記錄的表,數據範例如下;+---------+------------+-----------+ | item_id | item_title | item_isbn | +---------+------------+-----------+ | 1 | Jo | NULL | +---------+------------+-----------+ | 24 | Cars | NULL | +---------+------------+-----------+ | 315 | Fun | NULL | +---------+------------+-----------+ | etc | etc | etc | +---------+------------+-----------+
我已將此表導出為 CSV 文件,並通過 MS Excel 使用必要的 ISBN 填充它。我現在準備將數據重新導入
itens
表中。如何將這 500 條記錄重新導入
items
表中,同時僅覆蓋相同的 500 條記錄並保持相同的item_id
.有沒有更有效的方法來做到這一點?
我正在使用 PhpMyAdmin。
任何幫助表示讚賞。
只需刪除行
where item_isbn IS NULL
,然後導入更新的 CSV 文件。導入時,您也可以禁用 auto_increment,以防您擔心會弄亂 item_id 身份。
使用新的臨時表導入這些記錄,然後根據 item_id 編寫更新查詢。這樣您的 item_id 保持不變,並且這些記錄將被更新。
UPDATE items i1 INNER JOIN temp_items i2 ON i1.item_id = i2.item_id SET i1.item_title =i2.item_title AND i1.item_isbn= i2.item_isbn;