@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编码和数据库是一样的。
发布于 2014-11-05 22:15:21
我发现了问题所在。我必须定义要导入的表,正确的语法是
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`)");这就是为什么它用来生成虚拟数据,并通过定义导入的表,它可以很好地工作
https://stackoverflow.com/questions/26758204
复制相似问题