Ký tự escape (\) trở nên thiết yếu khi muốn chèn dấu phẩy hoặc ký tự khác giữa các giá trị của một trường. Ví dụ minh họa: giả sử nhập dữ liệu từ file A.txt có dữ liệu sau vào bảng MySQL:
id, Name, Country, Salary 105, Chum, Marsh,USA, 11000 106, Danny, Harrison,AUS, 12000
Ở đây, trường Name có hai giá trị (họ, tên) phân tách bằng dấu phẩy. Truy vấn nhập:
mysql> LOAD DATA LOCAL INFILE 'd:\\A.txt' INTO TABLE employee4_tbl FIELDS TERMINATED BY ',' IGNORE 1 ROWS; Query OK, 2 rows affected, 4 warnings (0.05 sec) Records: 2 Deleted: 0 Skipped: 0 Warnings: 4
Có 4 cảnh báo. Xem dữ liệu nhập:
mysql> SELECT * FROM employee4_tbl; +------+---------+----------+--------+ | Id | Name | Country | Salary | +------+---------+----------+--------+ | 105 | Chum | Marsh | 0 | | 106 | Danny | Harrison | 0 | +------+---------+----------+--------+ 2 rows in set (0.00 sec)
MySQL dự đoán 'lastname' (giá trị trường Name) làm giá trị trường Country.
Vấn đề giải quyết bằng cách đặt escape character trong file text:
id, Name, Country, Salary 105, Chum\, Marsh,USA, 11000 106, Danny\, Harrison,AUS, 12000
Nhập lại file:
mysql> LOAD DATA LOCAL INFILE 'd:\\A.txt' INTO TABLE employee5_tbl FIELDS TERMINATED BY ',' IGNORE 1 ROWS; Query OK, 2 rows affected (0.03 sec) Records: 2 Deleted: 0 Skipped: 0 Warnings: 0
Không còn cảnh báo. Kiểm tra dữ liệu:
mysql> SELECT * FROM employee5_tbl; +------+----------------+----------+--------+ | Id | Name | Country | Salary | +------+----------------+----------+--------+ | 105 | Chum,Marsh | USA | 11000 | | 106 | Danny,Harrison | AUS | 12000 | +------+----------------+----------+--------+ 2 rows in set (0.00 sec)