[英]mysql LOAD DATA INFILE generates dummy data
@OpenCart 1.5.5我正在嘗試使用此命令從源數據庫中的某些表中導出一些行,例如:
mysql_query("
SELECT `group`,`key`,`value`,`serialized`
INTO OUTFILE '".$outputDir ."/".$dbPrefix ."setting.csv' FIELDS TERMINATED BY ','
OPTIONALLY ENCLOSED BY '\"' LINES TERMINATED BY '\n' FROM `".$dbPrefix."setting`
WHERE `group` = 'banner' OR `group` = 'bestseller'
OR `group` = 'carousel' OR ` .....
")
刪除這些表后,我嘗試使用以下命令將此文件導入到目標數據庫:
mysql_query("
LOAD DATA INFILE '". $outputDir ."/". $dbPrefix ."setting.csv'
INTO TABLE `".$tDbPrefix."setting` FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED
BY '\"' LINES TERMINATED BY '\n'
")
問題在於它會生成具有奇怪格式的偽數據。 例如:
<li class="contact-2 cle"...
我使用UTF-8編碼,並且數據庫是相同的。
我發現了問題...我必須定義表,我要導入正確的語法是
mysql_query("LOAD DATA INFILE '". $outputDir ."/". $dbPrefix ."setting.csv' INTO TABLE `".$tDbPrefix."setting` FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '\"' LINES TERMINATED BY '\n' (`group`,`key`,`value`)");
那就是為什么它用來生成虛擬數據並通過定義導入的表使其正常運行的原因
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.