我有多个db文件,其中包含具有不同值的相同表。
示例文件:
wifi_16-09-02_09_34_03.db
wifi_16-09-02_09_44_06.db
wifi_16-09-02_09_60_02.db
如何从多个文件中选择所有行?
我只知道用一个文件来做这件事。
这是我的代码:
$dbfile = 'wifi_16-09-02_09_34_03.db';
$db = new SQLite3('dbs/'.$dbfile);
$sql = 'SELECT * FROM wifi';
$results = $db->query($sql);
我是SQLite3
的新人,我们将不胜感激。
答案 0 :(得分:0)
您可以以相同的方式打开其他数据库。
如果要在一个查询中包含所有行,则需要将attach所有其他数据库添加到某个主数据库,并使用compound query:
$db->exec("ATTACH 'dbs/wifi_16-09-02_09_44_06.db' AS db2");
$db->exec("ATTACH 'dbs/wifi_16-09-02_09_60_02.db' AS db3");
...
$sql = <<<'SQL'
SELECT * FROM main.wifi
UNION ALL
SELECT * FROM db2.wifi
UNION ALL
SELECT * FROM db3.wifi
SQL;
$results = $db->query($sql);