SQL Fehler in Query - aber wo?

eightcore

Lt. Commander
🎅Rätsel-Elite ’24
Registriert
Juli 2008
Beiträge
1.689
Guten Abend.
Ich habe hier für die Schule eine Datenbank gemacht.
Wir müssen die ganze Datenbank mit Querys machen.

Edit: Das Problem wurde schon gelöst. Der Fehler ist fett markiert. Eine Tabellenname war nicht korrekt.

Hier der Code:

CREATE TABLE Modul
(
ModulID int NOT NULL,
LehrerID int NOT NULL,
Modulname CHAR(100),
PRIMARY KEY (ModulID)
);

CREATE TABLE Thema
(
ThemaID int NOT NULL,
Themabezeichnung CHAR(50),
PRIMARY KEY (ThemaID)
);

CREATE TABLE Lehrer
(
LehrerID int NOT NULL,
Name CHAR(30),
Vorname CHAR(30),
ModulID_FK int NOT NULL,
PRIMARY KEY (LehrerID),
FOREIGN KEY(ModulID_FK) REFERENCES Modul(ModulID)
);

CREATE TABLE Tests
(
TestID int NOT NULL,
ModulID_FK int NOT NULL,
ThemaID_FK int NOT NULL,
LehrerID_FK int NOT NULL,
PunkteMax int,
PunkteErr int,
Note int,
PRIMARY KEY (TestID),
FOREIGN KEY (ModulID_FK) REFERENCES Modul(ModulID),
FOREIGN KEY (ThemaID_FK) REFERENCES Thema(ThemaID),
FOREIGN KEY (LehrerID_FK) REFERENCES LehrerID(LehrerID)
);



Das Programm, mit dem wir arbeiten gibt den Fehler zurück, es gbe einen "Syntaxfehler in Felddefinition."

Dieser müsste in der Tabelle "Test" sein, der restliche Teil des Querys funktioniert.


Was könnte es sein? Finde kein Fehler.




MfG | eightcore
 
Zuletzt bearbeitet:
Moin
deine letzte Zeile is denke ich falsch:
FOREIGN KEY (LehrerID_FK) REFERENCES LehrerID(LehrerID)

richtig:
FOREIGN KEY (LehrerID_FK) REFERENCES Lehrer(LehrerID)
 
Vielen Dank. Manchmal suche ich einfach zu weit.



Es war nicht nur die "LehrerID", die Probleme machte. Der Spaltenname "Note" wird wahrscheinlich als Syntax abgefangen.
 
Zuletzt bearbeitet:
Zurück
Oben