如何从访问mysql导入特定行?

时间:2013-05-17 06:48:18

标签: php mysql ms-access

我是否有任何解决方案可以从Access导入某些行?或不?任何人都可以在MySQL中给我一个查询,将主表中的某一行导入另一个表吗?

2 个答案:

答案 0 :(得分:0)

请忽略,我误解了您的问题,认为您试图将数据从一个表复制到另一个表。我没有意识到你试图从Access导入行到MySQL。

<小时/> INSERT INTO table1 SELECT field1, field2, field3 FROM table2

这是一个旧的stackoverflow帖子,它为您提供了更多详细信息: Copy rows from one table to another, ignoring duplicates

还有一些其他信息: http://pic.dhe.ibm.com/infocenter/dzichelp/v2r2/index.jsp?topic=%2Fcom.ibm.db2z10.doc.apsg%2Fsrc%2Ftpc%2Fdb2z_insertrowfromtable.htm

希望这有帮助。

答案 1 :(得分:0)

有可能,您需要连接到两个数据库,例如使用PDO。下面我假设您现在使用Access和MySQL表结构。

$access = new PDO( ... ); // insert your MS Access DSN, perhaps via ODBC
$mysql = new PDO(...); // the same with MySQL

// you need to check here if connections were successful

$query_acc = $access->query('SELECT * FROM AccessTableName');

$query_mysql = $mysql->prepare('INSERT INTO MySQLTableName VALUES(%val1, %val2, %val3 ...)');

while($row = $query_acc->fetchAll()){ // choose the method you like most
  $query_mysql->bindValue('%val1', $row['val1']);
  // do the same with other fields
  // ...
  $query_mysql->execute();
}

也许代码可以优化,但你可以看到它非常简单。