如何在将文本文件导入 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。
广告
数据结构
网络
关系型数据库管理系统
操作系统
Java
iOS
HTML
CSS
Android
Python
C 语言编程
C++
C#
MongoDB
MySQL
Javascript
PHP