Einzelnen Beitrag anzeigen

Delbor

Registriert seit: 8. Okt 2006
Ort: St.Gallen/Schweiz
1.186 Beiträge
 
Delphi 11 Alexandria
 
#1

Verständnisfrage zu SQLite-Syntax

  Alt 15. Sep 2019, 17:46
Datenbank: SQLite • Version: 3 (?) • Zugriff über: Delphi
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:
pdfofficerdatamodell-3.jpg
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
Roger
Man muss und kann nicht alles wissen - man muss nur wissen, wo es steht.
Frei nach Albert Einstein
http://roase.ch
  Mit Zitat antworten Zitat