Einfaches INSERT INTO funktioniert ned

Eigentlich wollte ich was ganz anderes fragen, aber jetzt hackt es schon an einer eigentlich einfachen Sache (aber ich finde keinen Weg raus und wundere mich, weil ich auch früher schon mit SQL a bissl programmiert habe und zumindest das INSERT INTO keine Probleme machte)

Ich habe hier mal eine Tabelle programmiert,
ID ist eben der Schlüssel in Access, PROFIL_ID ist der Respondent…

CREATE TABLE Obst_alt (
ID COUNTER NOT NULL CONSTRAINT constraintName_pk PRIMARY KEY,
PROFIL_ID integer null,
FRAGE integer null,
MERKMAL integer null,
WERT char(20) null
);

Jetzt sollen simpel Werte eingefügt werden:

INSERT INTO Cbst_alt (PROFIL_ID, FRAGE, MERKMAL, WERT) VALUES (1,1,3,’Apfel’);
INSERT INTO Cbst_alt (PROFIL_ID, FRAGE, MERKMAL, WERT) VALUES (1,1,7,’Banane’);
INSERT INTO Cbst_alt (PROFIL_ID, FRAGE, MERKMAL, WERT) VALUES (1,2,1,’Ja’);
INSERT INTO Cbst_alt (PROFIL_ID, FRAGE, MERKMAL, WERT) VALUES (2,1,1,’Pflaume’);
INSERT INTO Cbst_alt (PROFIL_ID, FRAGE, MERKMAL, WERT) VALUES (2,1,4,’Birne’);
INSERT INTO Cbst_alt (PROFIL_ID, FRAGE, MERKMAL, WERT) VALUES (2,1,7,’Banane’);
INSERT INTO Cbst_alt (PROFIL_ID, FRAGE, MERKMAL, WERT) VALUES (2,2,2,’Nein’);

Es funkt aber ned???

an null vs. not null kann es auch ned liegen - ich habe beide versionen ausprobiert (auch wenn ich noch nicht genau weiss, wann man eigentlich null oder not null anwenden soll)

Vielleicht sieht jemand mit anderen Augen das problem, denn eigentlich müsste es so klappen.

Besten Dank
Stefan

CREATE TABLE Obst_alt (
ID COUNTER NOT NULL CONSTRAINT constraintName_pk PRIMARY KEY,
PROFIL_ID integer null,
FRAGE integer null,
MERKMAL integer null,
WERT char(20) null
);

Ich hoffe, Du hast das Folgende mit Copy&amp:stuck_out_tongue_winking_eye:aste hier rein, weil:

Cbst_alt (PROFIL_ID, FRAGE, MERKMAL, WERT)

Die Tabelle hier C wie Caesar, nicht O wie Obst am Anfang hat. Ein Grund mehr, zum Programmieren Fonts zu verwenden, die hässlich sind, aber alle Verwechslungsgefahren (0/O, 1/l usw.) eliminieren.

oh nein, scheisse das war wirklich ein C - frag mich aber wie das entstanden ist, ich habe es eigentlich eingetippt und C und O liegen ja ned wirklich nebeneinander.

allerdings funktioniert es mit O immer noch ned?

Besten Dank aber trotzdem für das gute Auge.

Gruesse Stefan

  • Und was funktioniert immer noch nicht ? gibt es eine Fehlermeldung ? wenn ja, welche ? DB-Version ?

Gruss

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

gelöscht :

CREATE TABLE Obst_alt (
ID COUNTER NOT NULL CONSTRAINT constraintName_pk PRIMARY KEY,
PROFIL_ID integer null,
FRAGE integer null,
MERKMAL integer null,
WERT char(20) null
);

Jetzt sollen simpel Werte eingefügt werden:

INSERT INTO Obst_alt (PROFIL_ID, FRAGE, MERKMAL, WERT) VALUES
(1,1,3,’Apfel’);
gelöscht :
Besten Dank
Stefan

Hallo Stefan,

wo ist denn Dein Wert für ID und trotzdem legst Du ein Primary-Key darauf? Oder hast Du vergessen ein autocounter auf das Attribut ID zu legen?

MfG Georg V.

DB-Version: es ist eine Access-DB
Fehlermeldung: Syntax-Fehler in CREATE TABLE-Anweisung.
(allerding funktioniert CREATE TABLE, wenn ich den INSERT INTO Schwanz weglassen?)

DB-Version: es ist eine Access-DB
Fehlermeldung: Syntax-Fehler in CREATE TABLE-Anweisung.
(allerding funktioniert CREATE TABLE, wenn ich den INSERT INTO
Schwanz weglassen?)

  • OK, leider habe ich keine Ahnung von Access :smile:…Ich würde dich auch bitten, deine Fragen ins Access Forum (Gleich eins weiter oben) zu posten. Da ist die Change, Hilfe zu bekommen eingies grösser.

>>>

  • Ist das eine Frage oder ein Statement ? Mit anderen Worten, wenn du NUR das Create Table Statement absetzt, ist anschliessend die Tabelle im Access drinnen ?

DB-Version: es ist eine Access-DB
Fehlermeldung: Syntax-Fehler in CREATE TABLE-Anweisung.
(allerding funktioniert CREATE TABLE, wenn ich den INSERT INTO
Schwanz weglassen?)

  • OK, leider habe ich keine Ahnung von Access :smile:…Ich würde
    dich auch bitten, deine Fragen ins Access Forum (Gleich eins
    weiter oben) zu posten. Da ist die Change, Hilfe zu bekommen
    eingies grösser.

danke für den tip - aber da wird nix über sql besprochen?

>>>

  • Ist das eine Frage oder ein Statement ? Mit anderen Worten,
    wenn du NUR das Create Table Statement absetzt, ist
    anschliessend die Tabelle im Access drinnen ?

ja genau, dann klappt alles prima.

Problem im Prinzip provisorisch gelöst
Okay, Problem im Prinzip provisorisch gelöst.

Wenn ich die Tabelle erst CREATen lasse und in einem zweiten Schritt die Daten INSERTe, klappt es (zumindest teilweise - so richtig aber auch nicht)

  • lieber ned in Word schreiben
    …und ausserdem ist es ratsam ned in Word zu code, sondern lieber im Texteditor, Word verstellt auch die „“ und da klappte wieder was ned (dank TextEditor funkts jetzt aber)

hallo Stefan

was genau erhoffst du dir eigentlich von deiner anfrage? du rückst erst nach längerem hin- und her damit heraus, dass du access verwendest (welche version eigentlich?). du gibst keinen hinweis darauf, welche fehlermeldung dir access eigentlich liefert. wie genau soll dir irgendjemand helfen können? (so nach dem motto: mein auto macht seltsame geräusche, was muss ich tun?)

aber mal allgemein: du definierst eine tabelle mit 5 spalten und im insert sind nur 4 spalten drinnen. gerade der primary key ist im insert nicht drinnen. das create sagt nichts über eine ev. verwendete autovalue-funktion aus. damit ist der primary-key null, obwohl er nicht null sein darf (unique-spalten dürfen nie null sein). das in etwa wird dir die datenbank auch gesagt haben.

also, entweder du generierst die irgendwie den primary key oder du definiert den primary key mit einem autovalue. dann klappts auch mit dem insert.

lg
erwin

In Access kann man immer nur eine SQL-Anweisung zur Zeit ausführen.

Und, ja, in der Access-Sektion wird auch über SQL geschrieben, wenn man nach SQL fragt. Und auch sonst sollte man immer dazu schreiben, um welche Datenbank es geht - SQL ist nicht SQL und Jet-SQL (also das SQL von Access) ist kein ANSI-SQL!

Gruß aus dem Norden
Reinhard Kraasch

(http://www.dbwiki.de - das Datenbank-Wiki)

tja…
… und vielleicht auch besser Hochdeutsch schreiben - sonst bekommst du die nächste Antwort auf Plattdüütsch!

Oder, etwas härter gesagt: „Funzt ned“ usw. ist keine Fehlerbeschreibung, sondern dialektales Herumgenuschel.

Gruß aus dem Norden
Reinhard Kraasch

(http://www.dbwiki.de - das Datenbank-Wiki)