INSERT INTO - Fehlermeldung

Datenbanklösungen mit AOO/LO

Moderator: Moderatoren

Mr.Anfänger
Beiträge: 6
Registriert: Di, 24.06.2014 17:33

INSERT INTO - Fehlermeldung

Beitrag von Mr.Anfänger »

Moin Allerseits!
Bin Anfänger in Base bzw. allgemein im Thema "Datenbanken".

Wie kann man bei dem INSERT INTO Befehl automatisch inkrementierende Primärschlüssel berücksichtigen?
Ich möchte eine bereits vorhandene Tabelle (/Liste) um eine ganze Zeile ergänzen.

MfG
Der Anfänger
DPunch
*******
Beiträge: 1112
Registriert: Mo, 02.11.2009 16:16
Wohnort: Marburg

Re: INSERT INTO - Fehlermeldung

Beitrag von DPunch »

Servus

Mal angenommen, Du hast die Tabelle "TabelleA" mit den Spalten "ID" (Auto-Inkrement), sowie den beiden Spalten "spalteA" und "spalteB".

Entweder Du lässt beim Statement die Auto-Inkrement Spalte einfach raus
INSERT INTO TabelleA (spalteA,spalteB) VALUES (Wert1,Wert2)
oder Du übergibst explizit NULL als Wert für die Spalte (nehmen wir mal an, die Auto-Inkrement Spalte hieße "ID")
INSERT INTO TabelleA (ID,spalteA,spalteB) VALUES (NULL,Wert1,Wert2)
Mr.Anfänger
Beiträge: 6
Registriert: Di, 24.06.2014 17:33

Re: INSERT INTO - Fehlermeldung

Beitrag von Mr.Anfänger »

Hallo DPunch!

Danke für deine Hilfe, aber ich hab das so probiert und kriege dennoch immer eine Fehlermeldung. Ursprünglich dachte ich, es hängt damit zusammen, aber dem ist wohl nicht so.

Also folgendermaßen siehts aus:

Datei mit 2 Tabellen:
- "ort" und "schueler"

Jetzt möchte ich die Tabelle "schueler" um einen fiktiven Schüler erweitern.

Die Tabelle "schueler" sieht folgendermaßen aus:

id_schueler Primärschlüssel, zählt automatisch hoch
nachname
vorname
geb_datum
geschlecht
strasse
email
id_ort Einfach ne Zahl zwischen 0 und 12, sind festgelegt in der Tabelle "ort"

Probiert über die oben erwähnte Methode:

Code: Alles auswählen

INSERT INTO "schueler"
VALUES (NULL, 'Mustermann', 'Max', '01.01.1997'. 'm', 'Musterstraße 3', 'Max@Mustermann.com', 2);
Kriege aber immer die Fehlermeldung:
"Syntax error in SQL expression".

Ich hab kein Plan wieso...
Hab auch schonmal probiert das ganze halt komplett ohne den Primärschlüssel zu machen. Also einfach nur bestimmte Spalten füllen: Alle außer den Primärschlüssel...Sieht dann bei mir so aus:

Code: Alles auswählen

INSERT INTO "schueler" ("nachname", "vorname", "geb_datum", "geschlecht", "strasse", "email", "id_ort")
VALUES (NULL, 'Mustermann', 'Max', '01.01.1997'. 'm', 'Musterstraße 3', 'Max@Mustermann.com', 2);
Eine Idee woran es liegen könnte?
Danke schonmal für deine/eure Hilfe!

MfG
Mr.Anfänger
RobertG
********
Beiträge: 2034
Registriert: Fr, 13.04.2012 19:28
Kontaktdaten:

Re: INSERT INTO - Fehlermeldung

Beitrag von RobertG »

Hallo Mr.Anfänger,

Code: Alles auswählen

    INSERT INTO "schueler" ("nachname", "vorname", "geb_datum", "geschlecht", "strasse", "email", "id_ort")
    VALUES (NULL, 'Mustermann', 'Max', '01.01.1997'. 'm', 'Musterstraße 3', 'Max@Mustermann.com', 2);
Kann nicht funktionieren, weil Du mehr Werte einfügen willst (NULL) als in der Tabelle ausgesucht werden.

Code: Alles auswählen

INSERT INTO "schueler"
VALUES (NULL, 'Mustermann', 'Max', '01.01.1997'. 'm', 'Musterstraße 3', 'Max@Mustermann.com', 2);
Hat ebenso wie der erste Code nach dem Datum einen Punkt statt ein Komma.

Ansonsten fällt mir dazu spontan auch nichts weiter ein, als die NULL wirklich durch den nächsthöheren Wert zu ersetzen.

Gruß

Robert
F3K Total
********
Beiträge: 3704
Registriert: Mo, 28.02.2011 17:49

Re: INSERT INTO - Fehlermeldung

Beitrag von F3K Total »

Hi,
vielleicht noch das Datum so schreiben:

Code: Alles auswählen

'2014-06-24'
Gruß R
RobertG
********
Beiträge: 2034
Registriert: Fr, 13.04.2012 19:28
Kontaktdaten:

Re: INSERT INTO - Fehlermeldung

Beitrag von RobertG »

Hallo R.

natürlich. Das ist mir in der Eile gar nicht aufgefallen.

Gruß

Robert
Mr.Anfänger
Beiträge: 6
Registriert: Di, 24.06.2014 17:33

Re: INSERT INTO - Fehlermeldung

Beitrag von Mr.Anfänger »

Das mitm Punkt statt dem Komma war nur in dem Beispiel oben...Im eig. Programm ists mitm Komma.

Hab jetzt die Vorschläge ausprobiert, aber es funktioniert dennoch nicht...
Noch i-welche Ideen? Ich nehme auch gerne nen fertigen Befehl :D
F3K Total
********
Beiträge: 3704
Registriert: Mo, 28.02.2011 17:49

Re: INSERT INTO - Fehlermeldung

Beitrag von F3K Total »

Es funktioniert, ich habe es ausprobiert!
  • Wo genau gibst Du den Befehl ein?
  • Welche Datentypen haben deine Tabellenspalten?
R
Mr.Anfänger
Beiträge: 6
Registriert: Di, 24.06.2014 17:33

Re: INSERT INTO - Fehlermeldung

Beitrag von Mr.Anfänger »

Kann gerade leider nicht an den PC.
Kannste deine Datei i-wo hochladen und mir n Link schicken, damit ich mir das dann mal Morgen oder so angucken kann? Vlt. finde ich meinen Fehler ja
F3K Total
********
Beiträge: 3704
Registriert: Mo, 28.02.2011 17:49

Re: INSERT INTO - Fehlermeldung

Beitrag von F3K Total »

Nö, schon gelöscht ... beantworte besser die zwei Fragen morgen oder so ...
Mr.Anfänger
Beiträge: 6
Registriert: Di, 24.06.2014 17:33

Re: INSERT INTO - Fehlermeldung

Beitrag von Mr.Anfänger »

id_schueler: Integer
nachname : Text
vorname: text
geb_datum: Datum
geschlecht: text
strasse: Text
email: text
id_ort: integer

Wie ich es eingebe:
"Abfrage" - "Abfrage in SQL Ansicht erstellen" und dann halt das bereits besprochene eingeben.
RobertG
********
Beiträge: 2034
Registriert: Fr, 13.04.2012 19:28
Kontaktdaten:

Re: INSERT INTO - Fehlermeldung

Beitrag von RobertG »

Hallo Mr.Anfänger,
Mr.Anfänger hat geschrieben: Wie ich es eingebe: "Abfrage" - "Abfrage in SQL Ansicht erstellen" und dann halt das bereits besprochene eingeben.
Eine Abfrage erwartet ein auslesbares Ergebnis. Deshalb beginnt jede Abfrage mit SELECT.
Du möchtest einen SQL-Befehl eingeben, der Inhalte ändert. Das geht mit einer Abfrage nicht, sondern nur über Extras → Sql.

Gruß

Robert
Mr.Anfänger
Beiträge: 6
Registriert: Di, 24.06.2014 17:33

Re: INSERT INTO - Fehlermeldung

Beitrag von Mr.Anfänger »

Was soll ich sagen?

KTG :D

Danke^^
Antworten