Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MySQL

Công dụng của ký tự escape (\) trong file text khi nhập dữ liệu vào MySQL


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)