Index auf Textfeld nicht möglich???

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

  • Index auf Textfeld nicht möglich???

    Kann es sein, dass ich keinen Index oder Unique auf Textfelder setzen kann?

    Ich abe ein Feld in einer Tabelle, dass als "tinytext" gekennzeichnet ist. Jetzt möchte ich dieses Indexieren.

    Klicke ich auf Index bekomme ich die Meldung:

    MySQL said: BLOB column 'testxxx' used in key specification without a key length

    Ich habe auch schon versucht eine Maximal-Länge anzugeben, aber das willdas Feld auch nicht.

    Mit einem 'tinyInt'-Feld hat es funktioniert.

    Was mache ich falsch?

    Gruß, Andi

  • #2
    ganz recht - auf Felder vom Typ blob bzw. text lassen sich keine Indizes setzen - egal welchen Subtyp du benutzt.
    Aber statt tinytext (max. 255 Zeichen) könntest du auch varchar (255) benutzen, da funktioniert das mit dem Index nämlich.
    mein Sport: mein Frühstück: meine Arbeit:

    Sämtliche Code-Schnipsel sind im Allgemeinen nicht getestet und werden ohne Gewähr auf Fehlerfreiheit und Korrektheit gepostet.

    Kommentar


    • #3
      Ah, danke.

      Muss ich da dann irgendwas bei der Abfrage beachten? Als Inhalt stehen da z.B Ort oder Name drinn.
      Kann ich auch die Maximallänge verringer z.B. (20) oder auch länger als (255) angeben?

      Gruß, Andi

      Kommentar


      • #4
        Ob char() oder varchar(), du mußt nichts bei der Abfrage beachten.

        Gib als Maximallänge an, das was Du als Maximallänge brauchst. (Für Vornamen wäre sicher varchar(400) unnütz.)

        Kommentar


        • #5
          Yo, superklasse!

          Danke, funktioniert prächtig.

          Kommentar


          • #6
            CHAR und VARCHAR dürfen max. 255 Zeichen lang sein.

            BLOB und TEXT:
            Code:
            TINYBLOB, TINYTEXT  max. 2^8-1 =        255 Zeichen
            BLOB, TEXT               2^16-1=      65535 Zeichen (64kB)
            MEDIUMBLOB, MEDIUMTEXT   2^24-1=   16777215 Zeichen (16MB)
            LONGBLOB, LONGTEXT       2^32-1= 4294967295 Zeichen (4GB)
            mein Sport: mein Frühstück: meine Arbeit:

            Sämtliche Code-Schnipsel sind im Allgemeinen nicht getestet und werden ohne Gewähr auf Fehlerfreiheit und Korrektheit gepostet.

            Kommentar

            Lädt...
            X