Primary Key - automatische Erhöhung beim Einfügen

EifelFrosch

Mitglied
Hallo zusammen,

habe ein kleines Problem.
Ich habe in mySQL eine Tabelle mit den Spalten ID, Eigentuemer, Gemarkung und Groesse_ha. Die ID ist der Primärschlüssel mit automatischer Erhöhung.
Wenn ich über ein Formular mit PHP einen Datensatz einfüge, soll automatisch die ID erhöht werden. Leider funktioniert das nicht. Gebe ich explizit einen Wert für ID an, dann geht es, wenn nicht, dann gibts eine Fehlermeldung. Ichd achte es würde so funktionieren:

insert daten (eigentuemer, gemarkung, groesse_ha) values ('$eigentuemer', '$gemarkung', $groesse_ha); --> ID soll ja automatisch vergeben werden.

leider funktioniert das nicht :(
Grüße
EF
 
Wie wärs damit: insert INTO daten (eigentuemer, gemarkung, groesse_ha) values ('$eigentuemer', '$gemarkung', $groesse_ha); ?

greetz
daddz
 
Eigentlich muss man nicht (eigentuemer, gemarkung, groesse_ha) schreiben, weil Spalten ID automatisch generiert wird und nicht geffuelt wird.
 
Hallo,

leider funktioniert es noch nicht.
In der SQL-Konsolo bekomme ich folgenden Fehler:

Column count doesen´t match value count at row 1.

bei folgender Eingabe:
insert daten values ('Eigentuemer1', 'Ort1', 50);

Grüße

EF
 
@Eifelfrosch

Wie schon weiter oben erwähnt wurde musste da ein Wort hinzufügen. Nämlich das INTO:
Generell:
INSERT INTO `<table_name>` [(`<table_col>`, `<table_col`, ...)] VALUES ('<value>', '<value>', ...)

Also das <...> musste eben entsprechend ersetzen. Also vergiss das INTO nicht.
btw: das mit [] ist optional ;)
 
mit insert into gibts die gleiche Fehlermeldung.

Aber der Tip mit "NULL" war Gold wert :-) Vielen Dank. So gehts glücklicherweise.

Grüße
EF
 
naja die Fehlermeldung kam, weil du die Spaltenliste nicht mit angegeben hattest. Deswegen musst du alle Werte angeben, was du ja nicht gemacht hattest. Also hattest du in deiner Werte-Liste einen Wert zu wenig angegeben und das hatte MySql net gepasst. Das Into sollteste aber trotzdem nicht mehr vergessen ;)
 
Zurück