Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi FOREIGN KEY Syntax mit SQLite? (https://www.delphipraxis.net/171173-foreign-key-syntax-mit-sqlite.html)

AlexII 24. Okt 2012 12:31

Datenbank: SQLite • Version: 3 • Zugriff über: SQLite4Delphi Wrapper von Tim Anderson

FOREIGN KEY Syntax mit SQLite?
 
Hallo,

bin gerade dabei meine Tabellen mittels Foreign Key zu verbinden, aber mir gelingt die SQLite+Delphi Syntax nicht. Hier mein Code:

Delphi-Quellcode:
sSQL := 'CREATE TABLE buecher ([buecherid] INTEGER PRIMARY KEY NOT NULL, [titel] VARCHAR (255) NOT NULL,';
sSQL := sSQL + 'FOREIGN KEY (fk_entleiher_id) REFERENCES entleiher(entleiherid));';
Ich bekomme die Fehlermeldung: ...: near "(fk_entleiher_id)": syntax error.

Bin jedem dankbar wer mir weiter helfen kann, danke!

Uwe Raabe 24. Okt 2012 12:44

AW: FOREIGN KEY Syntax mit SQLite?
 
Nimm mal das Komma am Ende der ersten Zeile weg.

AlexII 24. Okt 2012 12:48

AW: FOREIGN KEY Syntax mit SQLite?
 
Hilft leider nicht... :gruebel:

DeddyH 24. Okt 2012 12:53

AW: FOREIGN KEY Syntax mit SQLite?
 
fk_entleiher_id fehlt ja auch in der Feldliste, d.h. Du willst einen FK auf ein nicht existentes Feld setzen.

AlexII 24. Okt 2012 12:59

AW: FOREIGN KEY Syntax mit SQLite?
 
Zitat:

Zitat von DeddyH (Beitrag 1188151)
fk_entleiher_id fehlt ja auch in der Feldliste, d.h. Du willst einen FK auf ein nicht existentes Feld setzen.

Stimmt, man bin ich blind... :wall:

Sag mal muss man den Foreign Key in SQLite aktivieren, etwas so:

Delphi-Quellcode:
sldb.ExecSQL('PRAGMA foreign_keys=ON;');
oder wird das inzwischen standardmäßig aktiviert?

DeddyH 24. Okt 2012 13:01

AW: FOREIGN KEY Syntax mit SQLite?
 
Was meinst Du mit "Aktivieren"?

[edit] Ah, da war Dein Edit noch nicht zu sehen. Diesen Artikel kennst Du schon?
Zitat:

Foreign key constraints are disabled by default (for backwards compatibility), so must be enabled separately for each database connection separately.
[/edit]

AlexII 24. Okt 2012 13:03

AW: FOREIGN KEY Syntax mit SQLite?
 
Hab gelesen, dass bei SQLite Foreign Key standardmäßig nicht unterstützt wird, man muss es manuell aktivieren und mit TRIGGER damit arbeiten.

Hier hab ich das her: http://glossar.hs-augsburg.de/SQLite...Keys_erzwingen

DeddyH 24. Okt 2012 13:05

AW: FOREIGN KEY Syntax mit SQLite?
 
:lol: und noch eine Edit-Überschneidung. Antwort siehe oben.

AlexII 24. Okt 2012 13:07

AW: FOREIGN KEY Syntax mit SQLite?
 
Ok, Thx :thumb:


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:42 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz