Hi zusammen
Zur Zeit arbeite ich an einer SQLite-
DB für meinen PDFOfficer. Zuerst hier mal mein
DB-Modell, mit
MySQL Workbench erstellt und anschliessend nach SQLite exportiert:
Parallel dazu bin ich dabei, mir mit Google Translate Passagen aus dem SQLite-Handbuch zu übersetzen, aktuell zum Thema
CreateTable und gewissen Constraints. Aus den übersetzten Texten stelle ich mir Word-Dokumente als Lern- und Nachschlagequellen zusammen.
Dabei hat sich für mich nun eine Unklarheit ergeben. Aus meiner Google-Übersetzung:
Zitat:
Der übergeordnete Schlüssel einer Fremdschlüsseleinschränkung darf die Zeilen-ID nicht verwenden. Der übergeordnete Schlüssel darf nur benannte Spalten verwenden.
Der Originaltext:
Zitat:
The parent key of a foreign key constraint is not allowed to use the rowid. The parent key must used named columns only.
Unter dem 'übergeordneten Schlüssel' verstehe ich in jedem Fall den Primärschlüssel der Elterntabelle, und nach meinem Verständnis ist der in der Elterntabelle gleichzeitig die ZeilenID.
Der zweite Satz ist automatisch erfüllt: Ups, Kommmando zurück - ich bins, der das automatisch macht. Ich hab das soeben mal durchgespielt. Nach benennen des ersten Feldes wird Integer als Datentyp vorgeschlagen, und bei verlassen dieses Feldes werden die Haken bei Primarykey und NotNull gesetzt. Was da passiert, wenn ich einen andern Datentyp wähle, habe ich noch nie probiert...
Nun ja, dadurch, dass ich das PK-Feld anlege, habe ich eine benannte Spalte.
Meine Verständnisfrage ist also eigentlich lediglich: Was soll das mit der Zeilen-Id, die nicht verwendet werden darf? Zumal ich ja gerade die bei einem Insert über mehrere Tabellen abfrage? (LastRowId)
Gruss
Delbor