ich eine Haupttabelle, die SQLite INNER JOIN 2 Tabellen in eine Haupttabelle
CREATE TABLE IF NOT EXISTS filesystem (
inode INTEGER PRIMARY KEY,
uid TEXT,
gid TEXT,
type TEXT,
pathname TEXT,
parentinode INTEGER,
FileCounter INTEGER DEFAULT 0,
DirCounter INTEGER DEFAULT 0,
TotalByteSum INTEGER DEFAULT 0)
und 2 Unter Tabellen wie
sieht, die wie folgt aussehen:CREATE TABLE IF NOT EXISTS groups (
gid TEXT PRIMARY KEY,
groupname TEXT
CREATE TABLE IF NOT EXISTS users (
uid TEXT PRIMARY KEY,
username TEXT
Derzeit bin ich mit:
CREATE TABLE completeFileSystem AS SELECT filesystem.inode, users.username, groups.groupname, filesystem.type, filesystem.pathname,filesystem.parentinode, filesystem.FileCounter, filesystem.DirCounter, filesystem.TotalByteSum
FROM filesystem
INNER JOIN users ON filesystem.uid = users.uid
INNER JOIN groups ON groups.gid = filesystem.gid
erstellt eine neue Tabelle, die dazu führt, dass meine DB-Datei größer als gewünscht ist.
Ich möchte gerne inner join auf filesystem.uid = users.uid und auf filesystem.id = groups.gid in die Dateisystem-Tabelle direkt. Ist das in SQLite möglich? Ich benutze Python, um diese SQL-Anweisungen zu schreiben, wenn sich das ändert.
Er ja, nur die SELECT ohne CREATE TABLE, sicher? –
@Daniel Roseman Das würde innerlich bei einer Abfrage mitmachen. Ich möchte, dass meine Spalte gid und uid direkt in der Dateisystemtabelle aktualisiert wird, um später mehrere Abfragen durchführen zu können. –
Klingt so, als ob Sie ein [view] (https://sqlite.org/lang_createview.html) möchten. –