在MySQL中,導(dǎo)入數(shù)據(jù)是我們?nèi)粘9ぷ髦薪?jīng)常需要處理的問(wèn)題之一。如果您需要導(dǎo)入的數(shù)據(jù)需要插入到已有的數(shù)據(jù)表中且需要注意數(shù)據(jù)格式的對(duì)應(yīng),您可以使用MySQL提供的LOAD DATA INFILE
語(yǔ)句來(lái)完成。
LOAD DATA INFILE 'yourfile.csv' INTO TABLE yourtable FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\n' IGNORE 1 ROWS;
然而,如果您需要導(dǎo)入的數(shù)據(jù)文件里包含了一些<
符號(hào)(比如html代碼),默認(rèn)情況下MySQL會(huì)認(rèn)為它是一個(gè)html標(biāo)簽而導(dǎo)致數(shù)據(jù)導(dǎo)入錯(cuò)誤。解決這個(gè)問(wèn)題的方法是,您需要在LOAD DATA INFILE
語(yǔ)句中添加一個(gè)OPTIONALLY ENCLOSED BY
來(lái)告訴MySQL如何處理這個(gè)問(wèn)題:
LOAD DATA INFILE 'yourfile.csv' INTO TABLE yourtable FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '<' LINES TERMINATED BY '\n' IGNORE 1 ROWS;
通過(guò)這樣的方式,MySQL會(huì)將<
符號(hào)和它配對(duì)的>
符號(hào)作為一個(gè)整體插入到數(shù)據(jù)表中。
因此,在您使用LOAD DATA INFILE
導(dǎo)入數(shù)據(jù)時(shí),如果遇到類似于這樣的問(wèn)題,您可以將符號(hào)包括在OPTIONALLY ENCLOSED BY
之內(nèi),從而告訴MySQL如何正確處理它們。