@OpenCart 1.5.5我尝试使用此命令从源DB导出某些表中的某些行,例如:
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编码,数据库完全相同。
答案 0 :(得分:0)
我发现了问题......我必须定义我导入的表格 正确的语法是
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`)");
这就是为什么它用于生成虚拟数据,并通过定义导入的表,它可以正常工作