Bin gerade mit Postgresql angefangen und alles in allem gilt das auch f�r Datenbanken im allgemeinen.
Da wollt ich doch nur eben ein paar Tabellen mit gekreuzten Fremdschl�sseln erstellen und was muss ich erfahren?
"HINWEIS: CREATE TABLE / PRIMARY KEY erstellt implizit einen Index �land_pkey� f�r Tabelle �land�
FEHLER: Relation �provinz� existiert nicht
********** Fehler **********
FEHLER: Relation �provinz� existiert nicht
SQL Status:42P01"
W�r echt spitze, wenn euch dazu was einf�llt!
Btw, kennt jemand einen step-by-step-guide f�r das Einf�gen von Tabelleninhalten aus csv Dateien? Hab mich schon m�chtig lang damit besch�ftigt, und obwohl es anscheinend so einfach sein soll ein copy from auszuf�hren hab ich da so meine Probleme gehabt^^
COPY Stadt(Sname, Code, Pname, Einwohner, Lgrad, Bgrad)
FROM 'Dateipfad'
DELIMITER AS ',';
COMMIT;
eine Fehlermeldung die besagt, dass noch Daten nach der letzten Spalte sind. Die Tabelle ist in einer csv Datei gespeichert, hat keine header für die Spalten und hat auch ansonsten keine Einträge.
Für Lgrad und Bgrad werden numerische Werte erwartet, Du lieferst da im CSV aber Zahlen mit Kommas. An den Kommas vermutet er dann den Wert für die nächste Spalte.
Du solltest versuchen, aus den Kommas da einen Punkt zu machen.
Sieht gut aus, jetzt kommt wieder ein Reihenfolgen-Problem, denn die Fremdschlüsselconstraints sind ja schon vorhanden und deshalb schliessen die Tabellen das gegenseitige Einfügen aus. Mein Ansatz wär jetzt alle Tabellen zu löschen, alle Fremdschlüssel erstmal weglassen, Daten reinschieben, Fremdschlüssel nachreichen. Das funktioniert aber nicht, weil ja die Zeilen mit den Fremdschlüsseln auch erst nachträglich erzeugt werden. Gibt es eine Möglichkeit den Spalten eine Fremdschlüsselconstraint im Nachhinein zu verpassen?
test=# create table a (a_id int primary key, b_id int, value text);
NOTICE: CREATE TABLE / PRIMARY KEY will create implicit index "a_pkey" for table "a"
CREATE TABLE
test=*# create table b (b_id int primary key, a_id int references a deferrable, value text);
NOTICE: CREATE TABLE / PRIMARY KEY will create implicit index "b_pkey" for table "b"
CREATE TABLE
test=*# alter table a add foreign key (b_id) references b deferrable;
ALTER TABLE
test=*# set constraints all deferred;
SET CONSTRAINTS
test=*# insert into a values (1,1,'value a');
INSERT 0 1
test=*# insert into b values (1,1,'value b');
INSERT 0 1