在将文本文件导入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;
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)

从上面的结果集中可以看出,在将薪金的值加500后,MySQL将数据上传到表中。

猜你喜欢