![]() |
Datenbank: SQLite • Version: 3 • Zugriff über: Lazarus SQLite3Connection
FK in die DB speichern?
Hallo,
ich habe folgende Frage: ich möchte in einer ComboBox Fahrzeughersteller auswählen oder falls der nicht vorhanden ist - neu mit der ComboBox anlegen. Nun wenn der Hersteller in der ComboBox aufgelistet ist, dann speichere ich einfach die ID des Herstellers als FK in die Haupttabelle. Was ist aber wenn es den Hersteller noch nicht gib? Ich schreibe den Name des Herstellers in die ComboBox und klicke auf OK. Woher bekomme ich die ID des neuen Herstellers, wenn der noch nicht angelegt ist? Etwa erst ma den Hersteller ablegen, dessen ID holen und danach damit den Rest der Daten speichern? Danke für eure Tipps! |
AW: FK in die DB speichern?
Einfügen und letzte vergebene ID von Datenbank holen.
Dann Daten in die abhängige Tabelle speichern |
AW: FK in die DB speichern?
Zitat:
wenn es einen Datensatz nicht gibt, gibt's auch keine ID dazu! Gruß K-H |
AW: FK in die DB speichern?
Ok, danke!
|
AW: FK in die DB speichern?
SQLite verfügt über eine Funktion
![]() |
AW: FK in die DB speichern?
Oder als SELECT
![]() Aber eigentlich finde ich die DBMS praktischer, welche die RETURNING-Syntax beim INSERT anbieten. Da kann man dann auch problemlos mehrere Datensätze gleichzeitig anlegen und sich dann von jedem neuen Datensatz bestimmte Werte zurückgeben lassen. so ala
SQL-Code:
INSERT INTO distributors (dname) VALUES ('XYZ Widgets') RETURNING did;
Was Folgendem entspricht.
SQL-Code:
Aber eigentlich dem
INSERT INTO distributors (dname) VALUES ('XYZ Widgets');
SELECT last_insert_rowid();
SQL-Code:
INSERT INTO distributors ...;
SELECT did FROM distributors WHERE neue_Datensätze; -- IDs "aller" neuen Datensätze |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:36 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz