dabadepdu
Datenbank-Guru
- Beiträge
- 1.704
Ich verstehe leider nicht, was Du nicht verstehst. Wo es hier um Autowerte geht und gleiche ID...?Was ich nicht verstehe ist, warum ich ID's verwende,
Follow along with the video below to see how to install our site as a web app on your home screen.
Anmerkung: This feature may not be available in some browsers.
Ich verstehe leider nicht, was Du nicht verstehst. Wo es hier um Autowerte geht und gleiche ID...?Was ich nicht verstehe ist, warum ich ID's verwende,
1) postgres=# create table ids(id serial primary key, name text);
CREATE TABLE
2) postgres=# insert into ids(name) values ('Hans'), ('Peter');
INSERT 0 2
3) postgres=# select * from ids;
id | name
----+-------
1 | Hans
2 | Peter
(2 Zeilen)
4) postgres=# insert into ids(id, name) values (1, 'Klaudia');
5) FEHLER: doppelter Schlüsselwert verletzt Unique-Constraint »ids_pkey«
DETAIL: Schlüssel »(id)=(1)« existiert bereits.
postgres=#
postgres=# create table kombinationen(id integer references ids(id), nachname text);
CREATE TABLE
postgres=#
postgres=# insert into kombinationen(id, nachname) values (1, 'Müller');
FEHLER: Zeichen mit Byte-Folge 0x81 in Kodierung »WIN1252« hat keine Entsprechung in Kodierung »UTF8«
postgres=#
postgres=# insert into kombinationen(id, nachname) values (1, 'Schillinger');
INSERT 0 1
postgres=#
postgres=# select * from kombinationen;
id | nachname
----+-------------
1 | Schillinger
(1 Zeile)
postgres=# insert into kombinationen(id, nachname) values (1, 'Mueller');
INSERT 0 1
postgres=# select * from kombinationen;
id | nachname
----+-------------
1 | Schillinger
1 | Mueller
postgres=# create table foo (id int generated always as identity primary key, data text);
CREATE TABLE
postgres=# insert into foo (data) values ('Hans');
INSERT 0 1
postgres=# insert into foo (id,data) values (100,'Lisa');
ERROR: cannot insert a non-DEFAULT value into column "id"
DETAIL: Column "id" is an identity column defined as GENERATED ALWAYS.
HINT: Use OVERRIDING SYSTEM VALUE to override.
postgres=#
Standardhinweis: die letzte 9.x ist 9.6.24, erschienen am 11.11.2021, und ist nun out-of-support.Ich darf mit einer älteren Postgresql 9.x Version arbeiten.
Ein IT-Klassiker.Keiner hat mit dem generierten Output (fehlerhafte/unvollständige) Menge an Datensätzen und der darauf folgenden Nacharbeit gerechnet...
Auch wenn Du es nicht mehr lesen wirst, vielleicht tut es jemand anders, der bei dem Thread ein deja vue hat.Ich danke euch trotzdem für die ganzen Ideen/Vorschläge. Ich konnte daraus auf jedenfall etwas meitnehmen und neues lernen.