Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

วิธีอัปโหลดค่าที่ปรับเปลี่ยน แทนค่าที่เขียนในไฟล์ข้อความ ขณะนำเข้าเข้า MySQL ตาราง

สมมติเราต้องการอัปโหลดค่าที่ปรับเปลี่ยนแล้ว แทนค่าที่เขียนในไฟล์ข้อความ เราต้องใช้ตัวแปรผู้ใช้ (user variables) ร่วมกับคำสั่ง SET สาธิตได้จากตัวอย่าง:

ตัวอย่าง

สมมติเรามีข้อมูลต่อไปนี้ใน 'A.txt':

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

แต่เราต้องการอัปโหลดค่า salary หลังบวก 500 เข้าไป ขณะนำเข้า โดยไม่เปลี่ยนค่า salary ในไฟล์ข้อความ สามารถทำได้ด้วยคิวรีต่อไปนี้ โดยใช้ตัวแปรผู้ใช้ร่วมกับตัวเลือก 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 เข้ากับค่า salary