如何在將文字檔案匯入 MySQL 表格時,上傳列的更改值,而不是文字檔案中寫入的值?


假設我們想要上傳更改後的值,而不是文字檔案中寫入的值,那麼我們需要使用使用者變數以及 SET 命令。可以透過以下示例來理解:

示例

假設我們在 'A.txt' 中有以下資料:

105,Chum,USA,11000
106,Danny,AUS,12000

但是,我們想要在匯入時將工資值加 500 後再上傳,而無需更改文字檔案中工資的值,那麼可以透過使用使用者變數以及 SET 選項,使用以下查詢來實現:

mysql> LOAD DATA LOCAL INFILE 'd:\A.txt' INTO table employee11_tbl FIELDS TERMINATED BY ',' (id,name,country,@salary) SET salary = @salary + 500;
Query OK, 2 rows affected (0.21 sec)
Records: 2 Deleted: 0 Skipped: 0 Warnings: 0

mysql> Select * from employee11_tbl;
+------+----------------+----------+--------+
| Id   | Name           | Country  | Salary |
+------+----------------+----------+--------+
| 105  | Chum           | USA      |  11500 |
| 106  | Danny          | AUS      |  12500 |
+------+----------------+----------+--------+
2 rows in set (0.00 sec)

從以上結果集可以看出,MySQL 在將資料上傳到表格後,將工資值加了 500。

更新於: 2020年2月6日

86 次檢視

開啟你的 職業生涯

透過完成課程獲得認證

開始學習
廣告

© . All rights reserved.