Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Konflikt mit Primary Key

Empfohlene Antworten

Hallo Leute,

wollte meine Datenbank mit Inhalt befüllen und bekomme folgende Fehlermeldung: ERROR: duplicate key value violates unique constraint "bestellung_pkey"

Liegt wohl daran, das ich in der Tabelle Position mehrmals die Bestellnummer verwende, aber eine Bestellung hat nun mal mehrere Positionen ^^

Ich weiß aber nicht wie ich das ändern kann, bzw. Duplikate zulassen kann.

Hier mal mein Schema und die Insert-Befehle:

/* Erzeugen der Datenbank mit den entsprechenden Tabellen */


/* Erzeugen der Datenbank lieferant */


CREATE database lieferant;



/* Erzeugen der Tablle artikel mit den Attributen artikel_nr(PK), bezeichnung, listenpreis, bestand, mindestbestand, verpackung. */


CREATE table artikel

(artikel_nr character varying(4) NOT NULL,

bezeichnung character varying (50), 

listenpreis money, 

bestand integer, 

mindestbestand integer, 

verpackung character varying(20),

CONSTRAINT pk_artikel

     PRIMARY KEY (artikel_nr));


/* Erzeugen der Tablle kunde mit den Attributen kunden_nr(PK), name, strasse, plz, ort. */


CREATE table kunde

(kunden_nr integer,

name character varying(30), 

strasse character varying(30), 

plz integer, 

ort character varying(20),


CONSTRAINT pk_kunde

     PRIMARY KEY (kunden_nr));


/* Erzeugen der Tablle bestellung mit den Attributen bestell_nr(FK), kunden_nr(FK), bestelldatum, lieferdatum, rechnungsbetrag. bestell_nr + kunden_nr = PK */


CREATE table bestellung

(bestell_nr integer NOT NULL,

kunden_nr integer, 

bestelldatum date, 

lieferdatum date, 

rechnungsbetrag money,

CONSTRAINT pk_bestellung

     PRIMARY KEY (bestell_nr),

CONSTRAINT fk_bestellung

     FOREIGN KEY (kunden_nr) REFERENCES kunde (kunden_nr));


/* Erzeugen der Tablle kontodaten mit den Attributen kunden_nr(FK), konto_inhaber, blz, konto_nr. */


CREATE table kontodaten

(kunden_nr integer, 

kontoinhaber character varying(30), 

blz integer, 

konto_nr integer,


CONSTRAINT fk_kontodaten

     FOREIGN KEY (kunden_nr) REFERENCES kunde (kunden_nr));



/* Erzeugen der Tablle position mit den Attributen bestell_nr(FK), artikel_nr(FK), bestellmenge, liefermenge, gesamtpreis. bestell_nr + artikel_nr = PK */


CREATE table position

(bestell_nr integer NOT NULL, 

artikel_nr character varying(4), 

bestellmenge integer, 

liefermenge integer, 

gesamtpreis money,


CONSTRAINT pk_position_fk

     PRIMARY KEY (bestell_nr, artikel_nr),

CONSTRAINT fk_position1

     FOREIGN KEY (bestell_nr) REFERENCES bestellung (bestell_nr),

CONSTRAINT fk_position2

     FOREIGN KEY (artikel_nr) REFERENCES artikel (artikel_nr));

/* Befüllung der Datenbank mit Musterdaten */


/* Befüllung der Tabelle bestellung */

INSERT INTO "haendler"."bestellung" ("bestell_nr", "kunden_nr", "bestelldatum", "lieferdatum", "rechnungsbetrag") VALUES ('9600', '101', '2009-11-20', '2009-12-01', '199.00');

INSERT INTO "haendler"."bestellung" ("bestell_nr", "kunden_nr", "bestelldatum", "lieferdatum", "rechnungsbetrag") VALUES ('9601', '104', '2009-11-21', '2009-12-02', '79.98');

INSERT INTO "haendler"."bestellung" ("bestell_nr", "kunden_nr", "bestelldatum", "lieferdatum", "rechnungsbetrag") VALUES ('9602', '105', '2009-11-10', '2009-11-15', '33.99');

INSERT INTO "haendler"."bestellung" ("bestell_nr", "kunden_nr", "bestelldatum", "lieferdatum", "rechnungsbetrag") VALUES ('9603', '103', '2009-12-04', '2009-12-11', '244.99');


/* Befüllung der Tabelle artikel */

INSERT INTO "haendler"."artikel" ("artikel_nr", "bezeichnung", "listenpreis", "bestand", "mindestbestand", "verpackung") VALUES ('A001', 'Kaffeemaschine', '150.00', '100', '10', 'Karton');

INSERT INTO "haendler"."artikel" ("artikel_nr", "bezeichnung", "listenpreis", "bestand", "mindestbestand", "verpackung") VALUES ('A002', 'Espressomaschine', '199.00', '120', '10', 'Karton');

INSERT INTO "haendler"."artikel" ("artikel_nr", "bezeichnung", "listenpreis", "bestand", "mindestbestand", "verpackung") VALUES ('A003', 'Wasserkocher', '30.00', '50', '5', 'Karton');

INSERT INTO "haendler"."artikel" ("artikel_nr", "bezeichnung", "listenpreis", "bestand", "mindestbestand", "verpackung") VALUES ('B001', 'Filtertüten', '5.99', '50', '5', 'Tüten');

INSERT INTO "haendler"."artikel" ("artikel_nr", "bezeichnung", "listenpreis", "bestand", "mindestbestand", "verpackung") VALUES ('B002', 'Entkalker', '3.99', '25', '5', 'Flasche');

INSERT INTO "haendler"."artikel" ("artikel_nr", "bezeichnung", "listenpreis", "bestand", "mindestbestand", "verpackung") VALUES ('C001', 'Toaster', '39.99', '130', '10', 'Karton');

INSERT INTO "haendler"."artikel" ("artikel_nr", "bezeichnung", "listenpreis", "bestand", "mindestbestand", "verpackung") VALUES ('C002', 'Eierkocher', '25.00', '40', '3', 'Karton');


/* Befüllung der Tabelle kontodaten */

INSERT INTO "haendler"."kontodaten" ("kunden_nr", "kontoinhaber", "blz", "konto_nr") VALUES ('100', ' ', '72050000', '7843');

INSERT INTO "haendler"."kontodaten" ("kunden_nr", "kontoinhaber", "blz", "konto_nr") VALUES ('101', 'Müller Mariane', '72050000', '8432');

INSERT INTO "haendler"."kontodaten" ("kunden_nr", "kontoinhaber", "blz", "konto_nr") VALUES ('102', 'Schubert Linda', '43020000', '1265');

INSERT INTO "haendler"."kontodaten" ("kunden_nr", "kontoinhaber", "blz", "konto_nr") VALUES ('103', 'Ullmann Alexander', '87310000', '8740');

INSERT INTO "haendler"."kontodaten" ("kunden_nr", "kontoinhaber", "blz", "konto_nr") VALUES ('104', 'Jacobs Ben', '83209210', '7403');

INSERT INTO "haendler"."kontodaten" ("kunden_nr", "kontoinhaber", "blz", "konto_nr") VALUES ('105', 'Herta Marion', '32050000', '9043');


/* Befüllung der Tabelle kunde */

INSERT INTO "haendler"."kunde" ("kunden_nr", "name", "strasse", "plz", "ort") VALUES ('100', 'Meier Peter', 'Hauptstrasse 17', '86150', 'Augsburg');

INSERT INTO "haendler"."kunde" ("kunden_nr", "name", "strasse", "plz", "ort") VALUES ('101', 'Müller Mariane', 'Postweg 10', '86134', 'Augsburg');

INSERT INTO "haendler"."kunde" ("kunden_nr", "name", "strasse", "plz", "ort") VALUES ('102', 'Schubert Linda', 'Rotkäppchenweg 7', '86199', 'Augsburg');

INSERT INTO "haendler"."kunde" ("kunden_nr", "name", "strasse", "plz", "ort") VALUES ('103', 'Ullmann Alexander', 'Karlstraße 16', '86150', 'Augsburg');

INSERT INTO "haendler"."kunde" ("kunden_nr", "name", "strasse", "plz", "ort") VALUES ('104', 'Jacobs Ben', 'Dorfstraße 143', '80432', 'München');

INSERT INTO "haendler"."kunde" ("kunden_nr", "name", "strasse", "plz", "ort") VALUES ('105', 'Herta Paul', 'Landgrafstraße 23b', '42384', 'Stettingen');

INSERT INTO "haendler"."kunde" ("kunden_nr", "name", "strasse", "plz", "ort") VALUES ('106', 'Richard Sabine', 'Von-der-Tann-Straße 8', '73293', 'Leipzig');


/* Befüllung der Tabelle position */

INSERT INTO "haendler"."position" ("bestell_nr", "artikel_nr", "bestellmenge", "liefermenge", "gesamtpreis") VALUES ('9600', 'A002', '1', '1', '199.00');

INSERT INTO "haendler"."position" ("bestell_nr", "artikel_nr", "bestellmenge", "liefermenge", "gesamtpreis") VALUES ('9601', 'C001', '2', '2', '79.98');

INSERT INTO "haendler"."position" ("bestell_nr", "artikel_nr", "bestellmenge", "liefermenge", "gesamtpreis") VALUES ('9602', 'A003', '1', '1', '30.00');

INSERT INTO "haendler"."position" ("bestell_nr", "artikel_nr", "bestellmenge", "liefermenge", "gesamtpreis") VALUES ('9602', 'B002', '1', '1', '3.99');

INSERT INTO "haendler"."position" ("bestell_nr", "artikel_nr", "bestellmenge", "liefermenge", "gesamtpreis") VALUES ('9603', 'A001', '1', '1', '150.00');

INSERT INTO "haendler"."position" ("bestell_nr", "artikel_nr", "bestellmenge", "liefermenge", "gesamtpreis") VALUES ('9603', 'A003', '1', '1', '30.00');

INSERT INTO "haendler"."position" ("bestell_nr", "artikel_nr", "bestellmenge", "liefermenge", "gesamtpreis") VALUES ('9603', 'C001', '1', '1', '39.99');

INSERT INTO "haendler"."position" ("bestell_nr", "artikel_nr", "bestellmenge", "liefermenge", "gesamtpreis") VALUES ('9603', 'C002', '1', '1', '25.00');

Problem hat sich gelöst, war aber nix spannendes, sondern ein kleiner Fehler von mir. Beitrag kann auch gerne gelöscht werden.

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.