Ergebnis 1 bis 7 von 7

Thema: Primary-Keys

  1. #1
    MS47 ist offline Neuer Benutzer
    Registriert seit
    05.07.2007
    Beiträge
    20

    Standard Primary-Keys

    Hallo,

    ich habe eine Frage zu Primary-Keys.
    Ich möchte z.B. folgende Tabelle aufbauen:

    PHP-Code:
     id language_id |  text
    ----+-------------+---------
      
    |           deutsch
      1 
    |           german
      2 
    |           englisch
      2 
    |           english 
    Und zwar sollen die Spalten id und language_id Primary-Keys sein. Kann ich Postgre irgendwie dazu bringen,
    die IDs wie oben aufgeführt zu vergeben? Ich bekomme es nur so hin:

    PHP-Code:
     id language_id |  text
    ----+-------------+---------
      
    |           deutsch
      2 
    |           german
      3 
    |           englisch
      4 
    |           english 
    Besten Dank schon mal

    Gruß,
    Markus

  2. #2
    ads
    ads ist offline Super-Moderator
    Registriert seit
    08.02.2006
    Ort
    MD
    Beiträge
    4.055

    Standard

    Wenn language_id ein Primary Key sein soll, kann die '1' nicht doppelt auftauchen. Oder du hast deinen Satz falsch formuliert *grübel*
    Xandrian: Kurz gesagt: Du hast ein falsches Konzept und willst nicht auf ads hören

    Jetzt NEU: PostgreSQL - Datenbankpraxis für Anwender, Administratoren und Entwickler

    PostgreSQL Service & Support

  3. #3
    MS47 ist offline Neuer Benutzer
    Registriert seit
    05.07.2007
    Beiträge
    20

    Standard

    Zitat Zitat von ads Beitrag anzeigen
    Wenn language_id ein Primary Key sein soll, kann die '1' nicht doppelt auftauchen. Oder du hast deinen Satz falsch formuliert *grübel*
    Der Primary-Key wird über die Spalten id und language_id gebildet. D.h. doch, dass die Kombination von id und language_id nicht doppelt vorkommen darf. Also sollte doch erlaubt sein:
    PHP-Code:
     id language_id |  text
    ----+-------------+---------
      
    |           deutsch
      1 
    |           german 
    Aber nicht:
    PHP-Code:
     id language_id |  text
    ----+-------------+---------
      
    |           deutsch
      1 
    |           german 
    Habe das auch mal probiert und Postgre akzeptiert das soweit.

    Ich hoffe wir reden jetzt nicht aneinander vorbei

  4. #4
    ads
    ads ist offline Super-Moderator
    Registriert seit
    08.02.2006
    Ort
    MD
    Beiträge
    4.055

    Standard

    Du hast von Primary Keys (imho also jeweils einem Key auf jede Spalte) gesprochen ;-)


    Nun, ich verstehe dein Problem nicht ganz, was hindert dich daran, die Daten mit passenden Inserts so einzufügen, wie du sie brauchst?
    Xandrian: Kurz gesagt: Du hast ein falsches Konzept und willst nicht auf ads hören

    Jetzt NEU: PostgreSQL - Datenbankpraxis für Anwender, Administratoren und Entwickler

    PostgreSQL Service & Support

  5. #5
    MS47 ist offline Neuer Benutzer
    Registriert seit
    05.07.2007
    Beiträge
    20

    Standard

    Zitat Zitat von ads Beitrag anzeigen
    Du hast von Primary Keys (imho also jeweils einem Key auf jede Spalte) gesprochen ;-)


    Nun, ich verstehe dein Problem nicht ganz, was hindert dich daran, die Daten mit passenden Inserts so einzufügen, wie du sie brauchst?
    Aha, mein Fehler
    Das werde ich dann auch so machen. War nur interessenhalber, da es dann auf der Programmierseite dann auch etwas weniger Arbeit wäre.
    Trotzdem danke

  6. #6
    akretschmer ist offline Super-Moderator
    Registriert seit
    29.10.2006
    Ort
    Dresden
    Beiträge
    5.465

    Standard

    Zitat Zitat von MS47 Beitrag anzeigen
    Aha, mein Fehler
    Das werde ich dann auch so machen. War nur interessenhalber, da es dann auf der Programmierseite dann auch etwas weniger Arbeit wäre.
    Trotzdem danke
    Du kannst Dir das auch bestimmt db-intern machen lassen, via trigger.
    Ich sehe aber keinen Vorteil gegenüber einem einfachen PK aus einem serial-Feld. Ach ja, wenn Du das in der Applikation machst, würde ich mal ganz spontan sagen, Du wirst Locks brauchen.

    Andreas
    --
    ads Das hatte dir akretschmer gestern schon gesagt und siehe da sobald du das machst, funktioniert es ;-)
    https://www.xing.com/profile/Andreas_Kretschmer7

  7. #7
    MS47 ist offline Neuer Benutzer
    Registriert seit
    05.07.2007
    Beiträge
    20

    Standard

    Zitat Zitat von akretschmer Beitrag anzeigen
    Du kannst Dir das auch bestimmt db-intern machen lassen, via trigger.
    Ich sehe aber keinen Vorteil gegenüber einem einfachen PK aus einem serial-Feld. Ach ja, wenn Du das in der Applikation machst, würde ich mal ganz spontan sagen, Du wirst Locks brauchen.

    Andreas
    Danke, das werde ich dann mal berücksichtigen.

Ähnliche Themen

  1. Frage Array of Foreign Keys
    Von otternase im Forum Allgemeines
    Antworten: 2
    Letzter Beitrag: 05.06.2010, 21:46
  2. Foreign Keys in ER-Modell
    Von debaer im Forum Verschiedenes
    Antworten: 0
    Letzter Beitrag: 26.06.2009, 08:51
  3. Zwei Primary Keys?
    Von burning snow im Forum Allgemeines
    Antworten: 2
    Letzter Beitrag: 18.05.2007, 15:51
  4. primary key und index
    Von captnrexx im Forum SQL
    Antworten: 5
    Letzter Beitrag: 03.03.2007, 20:12
  5. Problem mit Foreign Keys und Transaktionen
    Von abenstex im Forum Allgemeines
    Antworten: 3
    Letzter Beitrag: 01.02.2007, 12:27

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

Links: Tobias Bauer - IT- und Funkdienstleistungen   -   Bilderrahmen-kaufen.de - Der Onlineshop für Bilderrahmen & Fotorahmen   -   Funkforum