【发布时间】:2020-05-10 18:27:42
【问题描述】:
我有许多不同的 .sqlite 数据库文件(大约 1000 个,甚至更多),都具有相同的架构,我需要将它们全部合并到两个 sqlite 文件中,如下所述。
文件名是 "con_cookies_{domain.TLD}.sqlite" 和 "sin_cookies_{domain.TLD}.sqlite" em> 所以我想要 "con_cookies.sqlite" 和 "sin_cookies.sqlite" >.
最好的方法是什么?我对 sqlite 了解不多,因此不胜感激。
编辑:
我与数据库结构共享一个屏幕截图。如果保留数据的顺序,则主键并不重要。另一方面,每个文件大约有 40-50 行。
DB structure from source files Some SELECT {...} FROM rows example from source
更新:文本格式的数据库架构
id INTEGER PRIMARY KEY,
baseDomain TEXT,
originAttributes TEXT NOT NULL DEFAULT '',
name TEXT,
value TEXT,
host TEXT,
path TEXT,
expiry INTEGER,
lastAccessed INTEGER,
creationTime INTEGER,
isSecure INTEGER,
isHttpOnly INTEGER,
inBrowserElement INTEGER DEFAULT 0,
sameSite INTEGER DEFAULT 0,
Domain TEXT,
DurationDays INTEGER,
WebCategory TEXT,
CookieCategory TEXT,
Action TEXT,
TLD TEXT,
CMP_VENDOR TEXT,
CMP_IAB_V1 TEXT,
CMP_IAB_V2 TEXT,
Country TEXT,
CookiesByDefault,
CONSTRAINT moz_uniqueid UNIQUE (name, host, path, originAttributes));
CREATE INDEX moz_basedomain ON moz_cookies (baseDomain, originAttributes);
此外,如果将所有数据库大量导出到 CSV 更容易,也可以,而不是加入所有数据库。
【问题讨论】:
-
我们需要查看架构。复杂之处在于您是否需要保留主键和其他每个数据库的唯一值。
-
就是这样。你提到了两张桌子。
-
@Schwern 所有 sqlite 文件都有两个表,但我只需要完成它们,称为 moz_cookies,它们都是通用的
-
你的表没有主键?
-
您应该将表格定义包含为文本(创建表格语句),而不是图像。