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

MySQL ประเมินอักขระหนีบ (escape character) อื่นนอกจากแบ็กสแลช (\) ในไฟล์ข้อความขณะนำเข้าอย่างไร

แบ็กสแลช (\) เป็นอักขระหนีบเริ่มต้นของ MySQL เมื่อใช้ในไฟล์ข้อความ ไม่ต้องระบุในคิวรีขณะนำเข้าจากไฟล์ข้อความไปตาราง แต่หากใช้อักขระอื่นเป็นอักขระหนีบ ต้องระบุด้วยตัวเลือก ESCAPED BY ในคิวรีขณะนำเข้าไฟล์ข้อความเข้า ตาราง สาธิตได้จากตัวอย่าง:

สมมติเราใช้สัญลักษณ์ดาว (*) เป็นอักขระหนีบในไฟล์ข้อความ ดังนี้:

id,Name,Country,Salary
105,Chum*,Marsh,USA,11000
106,Danny*,Harrison,AUS,12000

ขณะนำเข้าไฟล์ข้อความนี้เข้า MySQL ตาราง ต้องระบุตัวเลือก 'ESCAPED BY' ในคิวรี ดังนี้:

mysql> LOAD DATA LOCAL INFILE 'd:\A.txt' INTO TABLE employee6_tbl FIELDS TERMINATED BY ',' ESCAPED BY '*' IGNORE 1 ROWS;
Query OK, 2 rows affected (0.03 sec)
Records: 2  Deleted: 0  Skipped: 0  Warnings: 0

ดูว่ามีการนำเข้าได้อะไร:

mysql> SELECT * FROM employee6_tbl;
+------+----------------+----------+--------+
| Id   | Name           | Country  | Salary |
+------+----------------+----------+--------+
| 105  | Chum,Marsh     | USA      | 11000  |
| 106  | Danny,Harrison | AUS      | 12000  |
+------+----------------+----------+--------+
2 rows in set (0.00 sec)