Computer >> 컴퓨터 >  >> 프로그램 작성 >> MySQL

텍스트 파일을 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을 추가한 후 테이블에 데이터를 업로드했음이 분명합니다.