Announcement

Collapse
No announcement yet.

Syntaxfehler mit 'drop primary key'

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Syntaxfehler mit 'drop primary key'

    Servus!
    Ich habe heute angefangen, mit SQL herumzubasteln und in phpmyadmin eine Dummydatenbank mit nur einer Tabelle zu erstellen. Die Tabelle hatte nur ein Integerfeld, rest text, und ich nahm wahr, daß dieses Feld farblich als primary key hervorgehoben war.
    Ich habe dann ein Indexfeld hinzugefügt, zur automatischen nummerierung und als Schlüssel; hatte danach zu meiner überraschung zwei primary keys.
    Da ich in der Maske keinen Weg fand, den unnötigen Schlüssel zu tilgen, versuchte ich es danach mit rohem SQL (mySQL unter Ubuntu Karmic; KDE).
    Das ist mir nicht gelungen.
    Anbei zwei repräsentative Versuche:
    Code:
    mysql> alter table adresse drop primary key plz;
    ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'plz' at line 1
    mysql> alter table adresse drop primary key;
    ERROR 1075 (42000): Incorrect table definition; there can be only one auto column and it must be defined as a key
    mysql>
    Bitte um die passende Codezeile; ich denke, dieser Trivialcode ist auch falsch noch selbsterklärend.
    Danke voraus

  • #2
    Wenn man sich an die SQL-Syntax hält, müßte das auch bei Mysql so lauten:
    Code:
    Alter Table <Name der Tabelle>
           DROP CONSTRAINT <Name des PKS>

    Comment


    • #3
      ¿pks?

      Danke für Deine Hilfsbereitschaft.
      Anfänger der ich bin, weiß ich nicht was "pks" heißt.

      Comment


      • #4
        Originally posted by jetrca View Post
        Anfänger der ich bin, weiß ich nicht was "pks" heißt.
        pks = private Key's

        also bei dir die Spalte 'plz'
        "(...) deshalb mag ich Binärtechnik. Da gibt es nur drei Zustände: High, Low und Kaputt." (Wau Holland)

        Viele Grüße Novi

        Comment


        • #5
          Hallo,
          Originally posted by jetrca View Post
          ...Ich habe dann ein Indexfeld hinzugefügt, zur automatischen nummerierung und als Schlüssel; hatte danach zu meiner überraschung zwei primary keys.
          Also MySQL hat zwar ein paar Macken, aber zwei PK sind auch hier nicht möglich! Mglws. hattest du einen PK und einen UNIQUE Key, aber zwei PK halte ich für ausgeschlossen.

          Originally posted by jetrca View Post
          ...
          Code:
          mysql> alter table adresse drop primary key;
          ERROR 1075 (42000): Incorrect table definition; there can be only one auto column and it must be defined as a key
          mysql>
          Dieser Befehl ist für MySQL syntaktisch richtig, die Fehlermeldung deutet jedoch auf eine etwas "verkorkste" Tabellendefinition hin. Geht dein PK möglicherweise über ZWEI Spalten? Vlt. kannst du die Tabellendefinition mal posten.

          Gruß Falk
          Wenn du denkst du hast alle Bugs gefunden, dann ist das ein Bug in deiner Denksoftware.

          Quellcode ohne ein Mindestmaß an Formatierung sehe ich mir nicht an! Ich leiste keinen Privatsupport per Mail oder PN!

          Comment

          Working...
          X