Php csv到mysql的顺序相反
我有一个CSV文件,其中包含来自另一个来源的多个条目,大约1000个条目。不幸的是,它的生成方式将最新的事务放在第一位。我想将数据附加到mysql中,但顺序不对。我该如何解决这个问题? 我所能想到的唯一方法是将它写入一个临时表,即按日期ASC进行查询,然后插入回正确的表中。有更好的办法吗Php csv到mysql的顺序相反,php,mysql,csv,Php,Mysql,Csv,我有一个CSV文件,其中包含来自另一个来源的多个条目,大约1000个条目。不幸的是,它的生成方式将最新的事务放在第一位。我想将数据附加到mysql中,但顺序不对。我该如何解决这个问题? 我所能想到的唯一方法是将它写入一个临时表,即按日期ASC进行查询,然后插入回正确的表中。有更好的办法吗 $location = $_SERVER['DOCUMENT_ROOT'] ."/assets/csv/"; $year = trim(date('Y', strtotime($start)));
$location = $_SERVER['DOCUMENT_ROOT'] ."/assets/csv/";
$year = trim(date('Y', strtotime($start)));
$month = trim(date('m', strtotime($start))-1);
$day = trim(date('d', strtotime($start)));
$file = "http://ichart.yahoo.com/table.csv?s=". $symbol ."&a=". $month ."&b=". $day ."&c=". $year;
$row = 1;
if (($handle = fopen($file, "r")) !== FALSE)
{
$fp = fopen($location . $symbol.'.csv', 'w');
while (($data = fgetcsv($handle, 1000, ",")) !== FALSE)
{
$num = count($data);
if($row == 1){array_unshift($data,"Symbol"); }
else { array_unshift($data, $symbol); }
fputcsv($fp, $data);
$row++;
}
fclose($fp);
fclose($handle);
这就是我如何获取CSV文件的方法数据库中的行的顺序永远不重要,因为您不能依赖于此。检索时使用order by子句。什么@Ilion--关系模式应该与存储顺序无关。为什么您关心事务的存储顺序?我想我关心的唯一原因是出于习惯。如果数据块不在同一顺序中,这不是一个问题吗?顺便说一句,在这种情况下,IMHO使用staging(temp)表与顺序无关是有益的。这是一种在插入事实表之前清理和验证数据的方便方法。您还可以考虑使用解析和加载CSV文件中的数据。