Indizes unterscheiden - aber wie?

fanste

Erfahrenes Mitglied
Hi,

Ich habe mal wieder ein kleines Problem. Ich bin gerade dabei eine Inhaltverwaltung für ein HP zu schreiben, stoße dabei aber auf folgendes Problem.

Ich habe eine Tabelle, die folgendermaßen aufgebaut ist
Code:
Array
(
    [0] => Array
        (
            [Field] => id
            [Type] => int(11)
            [Null] => 
            [Key] => PRI
            [Default] => 
            [Extra] => auto_increment
        )

    [1] => Array
        (
            [Field] => title
            [Type] => varchar(255)
            [Null] => 
            [Key] => UNI
            [Default] => 
            [Extra] => 
        )

    [2] => Array
        (
            [Field] => text
            [Type] => longtext
            [Null] => 
            [Key] => MUL
            [Default] => 
            [Extra] => 
        )

    [3] => Array
        (
            [Field] => date
            [Type] => int(15)
            [Null] => 
            [Key] => MUL
            [Default] => 0
            [Extra] => 
        )
)
ich komme hier aber mit den Bezeichnungen bei "Key" nicht zurecht. Was 'PRI' und 'UNI' ist, ist klar, aber 'MUL' steht bei 2 Feldern, obwohl 'date' den Index 'INDEX' hat und 'text' den Index 'FULLTEXT'.
Wie kann ich erkennen welche der Spalten diesen Typ hat? Irgendwie muss es ja gehen, PHPMyAdmin kann es ja auch ;)

Ich hoffe, ihr könnt mir weiterhelfen.
 
Hi,

Danke für deine Antwort. Zu dem gleichen Ergebnis bin ich auch schon gekommen, jedoch mit
SQL:
SHOW KEYS FROM `tabelle`

Viel weiter bringt mich das aber auch nicht, da hier nur PRIMARY und FULLTEXT explizit angegeben werden. Muss man da evt über die Zusammenhänge der einzelnen Spalten was machen?
 
Hab ich schon. Aber bisher einfach noch nicht die richtige Stelle gefunden. Vielleicht bin ich momentan auch einfach nur blind ;) Mach mich mal Morgen auf einen weiteren Suchdruchlauf
 
OK, bin soweit damit fertig. Jetzt brauch ich nur noch eines.
Wie kann ich das Attribut eines Feldes auslesen. Funktioniert das nur über die Analyse von
SQL:
SHOW CREATE TABLE `tabelle`
oder gibt es dafür einen MySql Befehl, der das macht?
 
Hallo,

probiers mal mit
SQL:
SHOW COLUMNS FROM `tabelle`
Die Argumente musst du dir allerdings dann selbst der Spalte Type rausfriemeln. Siehe dazu auch die Benutzerkommentare zu [phpf]mysql_fetch_field[/phpf].

Grüße,
Matthias
 
Zurück