unique und primary key

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

  • unique und primary key

    ich überarbeite gerade meine theorie zu mysql und stehe vor folgender frage. ich lege z.b. bei einem feld UNIQUE KEY fest. das heisst, dass jeder wert(!) einzigartig ist. bei PRIMARY KEY dagegen ist der schlüssel(!) einzigartig. aber wo zum teufel liegt denn da der unterschied? in beiden fällen ist der "inhalt" doch eindeutig.

    peter

    ps: komisch, dass ich mir diese frage heute erst stelle.
    Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
    Meine Seite

  • #2
    Ganz einfach, unique key kann NULL sein, primary key niemals. Das ist der einzige Unterschied.

    Kommentar


    • #3
      Original geschrieben von asp2php
      unique key kann NULL sein
      da habe ich aber was anderes gelesen. KEY muss immer NOT NULL sein. oder war das wieder mal blödsinn?

      peter
      Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
      Meine Seite

      Kommentar


      • #4
        ein unique key kann doch nur einmal NULL sein, denn sonst wäre er ja nicht mehr unique, oder seh ich das falsch ?!

        Kommentar


        • #5
          Original geschrieben von krel
          ein unique key kann doch nur einmal NULL sein, denn sonst wäre er ja nicht mehr unique, oder seh ich das falsch ?!
          ist aber möglich. nur lese ich ständig, dass ein feld mit KEY immer NOT NULL sein soll. also wo ist denn dann der unterschied. es muss doch einen geben, sonst hätten sie das buhei doch nicht veranstaltet.

          peter
          Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
          Meine Seite

          Kommentar


          • #6
            Original geschrieben von Kropff
            da habe ich aber was anderes gelesen. KEY muss immer NOT NULL sein. oder war das wieder mal blödsinn?

            peter
            Du hast Blödsinn gehört. Der Unterschied zwischen den beiden ist: primary key kannst du nicht explicite NULL erzwingen, unique key schon. Implicite werden beide mit NOT NULL angelegt.

            Kommentar


            • #7
              Original geschrieben von asp2php
              Du hast Blödsinn gehört. Der Unterschied zwischen den beiden ist: primary key kannst du nicht explicite NULL erzwingen, unique key schon. Implicite werden beide mit NOT NULL angelegt.
              gut, dann werde ich das mal so zu papier/html bringen. und dich dann als urheber erwähnen.

              danke
              peter
              Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
              Meine Seite

              Kommentar


              • #8
                Original geschrieben von Kropff
                ... und dich dann als urheber erwähnen.
                Nein, das kannst du in jedem vernünftigen SQL-Duku lesen ... vielleicht auch in MySQL, was ich aber stark bezweifle

                Kommentar


                • #9
                  Original geschrieben von asp2php
                  vielleicht auch in MySQL, was ich aber stark bezweifle
                  genau das war mein problem.

                  peter
                  Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
                  Meine Seite

                  Kommentar


                  • #10
                    Original geschrieben von Kropff
                    genau das war mein problem.

                    peter
                    von einem verkorsten DBMS ist ja auch zu erwarten

                    Kommentar


                    • #11
                      Hmmm,

                      als Unterschied würde ich noch hinzufügen, dass der Primary Key nur einmal definiert werden darf.
                      UNIQUE hingegen kann jedes Feld sein (welches nicht Primary Key ist ).

                      Wenn ich mich nicht irre... *hihi-hihi* (who's that?)


                      gruß
                      Piremilok

                      Kommentar


                      • #12
                        ein unique key kann doch nur einmal NULL sein, denn sonst wäre er ja nicht mehr unique, oder seh ich das falsch ?!
                        ist aber möglich.
                        Ist eigentlich überall möglich, außer bei der BDB storage engine.

                        UNIQUE hingegen kann jedes Feld sein (welches nicht Primary Key ist ).
                        Naja, gehen würde es schon, aber dann hat man halt 2 identische keys.
                        Assembler ist eine Methode,
                        Programme, die zu langsam laufen,
                        so umzuschreiben,
                        dass sie überhaupt nicht mehr laufen.

                        Kommentar

                        Lädt...
                        X