Frage zu Contraint unique

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Frage zu Contraint unique

    Hallo zusammen,

    ich versuche verzweifelt, einen Unique auf mehrere Spalten zu setzten.
    Da heißt, dass die Kombiniation aus den Spalten datum, abt, fachgruppe nur einmal vorkommen darf, jede für sich kann natürlich häufiger vorkommen.
    In einer alten Version hab ich den Schlüssel gebildet und eine zusätzliche Spalte gebildet, ist aber eigentlich doch Unsinn, oder? So speicher ich die Daten ja doppelt. Kann doch nicht sein, oder?

    Hier ist ein Versuch von mir, der leider nicht funktioniert (invalid column name)
    constraint TEST_UK unique (datum, abt, fachgruppe)

    Kann mir bitte jemand weiterhelfen?? Ich wäre wirklich sehr dankbar.
    Gruß
    Markus

  • #2
    kurz gesucht...

    http://www.php-resource.de/forum/sho...ghlight=unique
    INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


    Kommentar


    • #3
      Hi nochmal,

      hab das genannte Beispiel - Statement etwas abgeändert und bekome wieder eine Fehlermeldung:

      SQL> CREATE TABLE MeineLustigenTierchen
      2 ( TierId Number (8) NOT NULL ,
      3 TierName varchar(50) ,
      4 TierFarbe varchar(50),
      5 PRIMARY KEY (TierId),
      6 UNIQUE KEY NameFarbe (TierName,TierFarbe)
      7 ) ;
      UNIQUE KEY NameFarbe (TierName,TierFarbe)
      *
      ERROR at line 6:
      ORA-00906: missing left parenthesis

      Ich sollte wahrscheinlich nicht mit SQL/Oracle arbeiten.....
      Könnt Ihr mir nochmal helfen?
      Danke
      Markus

      Kommentar


      • #4
        du nutzt oracle? da ist happy der bessere ansprechpartner...

        ich schicke im mal ne info, dass er hier vorbeischaut. hoffentlich kann er dir da besser helfen.
        INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


        Kommentar


        • #5
          jetzt wenn ich ne orcale bei mir daheim hätt...

          könntest aber mal probieren aus UNIQUE KEY ein UNIQUE INDEX zu machen
          Ich denke, also bin ich. - Einige sind trotzdem...

          Kommentar


          • #6
            Hallo,

            ich nochmal, leider hat das mit dem Index nicht geholfen und ich hatte die gleiche Fehlermeldung....

            SQL> CREATE TABLE MeineLustigenTierchen
            2 ( TierId Number (8) NOT NULL ,
            3 TierName varchar(50) ,
            4 TierFarbe varchar(50),
            5 PRIMARY KEY (TierId),
            6 UNIQUE index NameFarbe (TierName,TierFarbe)
            7 ) ;
            UNIQUE index NameFarbe (TierName,TierFarbe)
            *
            ERROR at line 6:
            ORA-00906: missing left parenthesis

            Habt Ihr noch ne Idee?
            Gruß Markus

            Kommentar


            • #7
              mach zwei anweisungen draus
              Code:
              CREATE TABLE ...
              
              CREATE UNIQUE INDEX NameFarbe ON MeineLustigenTierchen(TierName,TierFarbe);
              geht das?
              Ich denke, also bin ich. - Einige sind trotzdem...

              Kommentar


              • #8
                Hallo,

                erstmal vielen Dank für Deine Antwort.

                Ich weiß auch nicht warum, aber wenn ich das folgende Statement ausführe, funktioniert es

                alter table <TABELLE>
                add constraint <CONSTRAINT>
                unique (<Feld1>, <Feld2>, <Feld3>);

                Supen vielen Dank und schöne Grüsse

                Markus

                Kommentar

                Lädt...
                X