我试图附加多个数据库文件并从中选择。所有的数据库文件都有同一个表,只是值不同。
方法如下:
try {
$file_db = new PDO('sqlite:dbs/wifi_16-09-01_10_03_01.db');
$file_db->setAttribute(PDO::ATTR_ERRMODE,
PDO::ERRMODE_EXCEPTION);
$file_db->exec("ATTACH DATABASE 'wifi_16-09-02_09_44_06.db' AS db2");
$result = $file_db->query('SELECT * FROM main.wifi UNION ALL SELECT * FROM db2.wifi');
$file_db = null;
}
catch(PDOException $e) {
echo $e->getMessage();
}
,错误是
SQLSTATE[HY000]: General error: 1 no such table: db2.wifi
如何解决这个问题?
在我研究了几个小时之后。我终于找到解决办法了。
给出附加数据库的完整路径,如:
$file_db->exec("ATTACH DATABASE 'C:/Users/name/folder/Projects/htdocs/p1/dbs/yourdbfile.db' AS db2");
在我的例子中,我没有给出任何路径,它在XAMPP文件夹下生成db文件。