ID in MySQL

3 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Du hast mehrere Primärschlüssel in der DB, es ist aber nur einer Zulässig.

Hää? Vorhin ging das doch alles noch! Auf was soll ich dann die anderen stellen?

0
@lollollollollol

Es geht nur ein Indes pro Tabelle. Du musst den anderen Löschen und den dann den neuen eintragen. ALTER TABLE eintragen DROP PRIMARY KEY, ADD PRIMARY KEY(id);

Achtung: Vor allen Änderungen immer eine Sicherheitskopie der Daten machen! (Dump)

0
@Chrischtian68

Erklärst du mir mal für ganz dumme was du mit "Es geht nur ein Indes pro Tabelle. Du musst den anderen Löschen und den dann den neuen eintragen." meinst? Ich arbeite nämlich erst seit heute mit Datenbanken.

0
@lollollollollol

So, hab jetzt nur bei der ID Primary und bei Text Fulltext gemacht. Jetzt sagt der:

Fehler

SQL-Befehl:

CREATE TABLE d00e705d.eintragen ( id INT( 11 ) NOT NULL AUTOINCREMENT PRIMARY KEY , name VARCHAR( 30 ) CHARACTER SET latin1 COLLATE latin1swedishci NOT NULL , email VARCHAR( 50 ) CHARACTER SET latin1 COLLATE latin1swedishci NOT NULL , text TEXT CHARACTER SET latin1 COLLATE latin1swedishci NOT NULL , rueckantwort VARCHAR( 5 ) CHARACTER SET latin1 COLLATE latin1swedishci NOT NULL , datum VARCHAR( 12 ) CHARACTER SET latin1 COLLATE latin1swedishci NOT NULL , uhrzeit VARCHAR( 12 ) CHARACTER SET latin1 COLLATE latin1swedish_ci NOT NULL ) ENGINE = MYISAM ;

MySQL meldet: Dokumentation

1166 - Incorrect column name 'email '

0

Das bedeutet auf jeden Fall, dass eine ID schon vorhanden ist. Möglicherweise wurde nach dem Löschen eine interne ID angelegt, die dem Eintrag nun im Wege steht. Abhilfe: Neue Tabelle einrichten und mit select und insert die Daten aus der alten Tabelle lesen und in die neue einfügen. Wenn alles o.k., dann die alte Tabelle löschen. Soll der ursprüngliche Name der Tabelle beibehalten werden, muss der Vorgang wiederholt gemacht werden.

Hilfe!! ich hab ebend versucht die Tabelle neu zumachen aber dann kam "Fehler

SQL-Befehl:

CREATE TABLE d00e705d.eintragen ( id INT( 11 ) NOT NULL AUTOINCREMENT PRIMARY KEY , name VARCHAR( 30 ) CHARACTER SET latin1 COLLATE latin1swedishci NOT NULL , email VARCHAR( 50 ) CHARACTER SET latin1 COLLATE latin1swedishci NOT NULL , text TEXT CHARACTER SET latin1 COLLATE latin1swedishci NOT NULL , rueckantwort VARCHAR( 5 ) CHARACTER SET latin1 COLLATE latin1swedishci NOT NULL , datum VARCHAR( 12 ) CHARACTER SET latin1 COLLATE latin1swedishci NOT NULL , uhrzeit VARCHAR( 12 ) CHARACTER SET latin1 COLLATE latin1swedish_ci NOT NULL , INDEX ( name , email , rueckantwort , datum , uhrzeit ) ) ENGINE = MYISAM ;

MySQL meldet: Dokumentation

1166 - Incorrect column name 'email ' "

Was möchtest Du wissen?