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 ให้กับมูลค่าเงินเดือน