এসকেপ ক্যারেক্টার (\) অত্যন্ত জরুরি যখন একটি ফিল্ডের মানগুলোর মাঝপথে কমা বা অন্য ক্যারেক্টার থাকে।
ধরুন A.txt ফাইলে নিচের ডেটা আছে:
id, Name, Country, Salary 105, Chum, Marsh,USA, 11000 106, Danny, Harrison,AUS, 12000
এখানে 'Name' ফিল্ডে ফাস্ট নাম এবং লাস্ট নাম কমা দিয়ে আলাদা। এখন ইম্পোর্ট করলে:
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)
৪টি সতর্কতা দিয়েছে। ডেটা চেক করলে:
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 'Marsh'-কে 'Country' ফিল্ডে এবং 'USA'-কে 'Salary'-তে নিয়েছে (ভুল)।
সমাধান: টেক্সট ফাইলে এসকেপ ক্যারেক্টার ব্যবহার করুন:
id, Name, Country, Salary 105, Chum\, Marsh,USA, 11000 106, Danny\, Harrison,AUS, 12000
এখন ইম্পোর্ট করলে কোনো সতর্কতা নেই:
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
ফলাফল:
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)
এখন ডেটা সঠিকভাবে ইম্পোর্ট হয়েছে।