PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : MySQL fehler



localhost
19-01-2003, 09:42
Datenbank no-nick - Tabelle gb auf localhost
Fehler

SQL-Befehl :

CREATE TABLE `gb` (

`id` INT( 9 ) UNSIGNED NOT NULL AUTO_INCREMENT,
`name` VARCHAR( 25 ) NOT NULL ,
`mail` VARCHAR( 35 ) NOT NULL ,
`titel` VARCHAR( 25 ) NOT NULL ,
`blabla` TEXT NOT NULL
)

MySQL meldet:


Incorrect table definition; There can only be one auto column and it must be defined as a key
Zurück

Gaert
19-01-2003, 10:07
Bei dir fehlt UNIQUE(id) !
Ist aber besser id auch noch als Primary Key und Index festzulegen!


CREATE TABLE gb
(id INT (9) UNSIGNED NOT NULL AUTO_INCREMENT, PRIMARY KEY(id), UNIQUE(id), INDEX(id)
usw...
)

mehlvogel
19-01-2003, 10:53
Ist UNIQUE / INDEX nicht unntöig wenn es eh PRIMARY KEY ist? Denn ein Primary Key muss Unique sein, und wird doch auch "geindexed", oder?

Gaert
19-01-2003, 11:46
Schon, aber ich gebs immer Explizit mit an...

msi
26-01-2003, 14:55
was bedeutet den das unique, das index und primary key genau, ich les das immer, verwends auch in meinen dbs aber ich weiß nicht was das genau macht.

danke MArkus

mehlvogel
26-01-2003, 15:15
ein INDEX ist eine Spalte, die mySQL extra speichert - und dadurch kann ein INDEX schneller durchsucht werden (deswegen sollte man einen INDEX immer auf Spalten anlegen, die man oft abfragt).

UNIQUE ist auch ein INDEX - aber hier darf nur jeder Wert einmal vorkommen.

PRIMARY KEY - hmm da bin ich nicht komplett sicher. Es ist auf jeden FAll auch nen INDEX und auch UNIQUE - jede Tabelle darf nur einen PRIMARY haben. Und ist meistens eine fortlaufende Zahl.