假设如果我们想要上传更改后的值而不是文本文件中写入的值,那么我们需要将用户变量与 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是在salary的值上加上500之后将数据上传到表中的。
以上是在将文本文件导入 MySQL 表时,如何上传列的更改值,而不是写入文本文件?的详细内容。更多信息请关注PHP中文网其他相关文章!