2016-04-07 14 views
0

Dies ist ein zu einer vorherigen Frage nachgehen, die ich habe verknüpft Aufmachungen hereFeld „subject_name“ hat keinen Standardwert

Und das Problem wird nun sortiert, aber jetzt ein anderes erscheint, wenn ich zu setzen versuchen, ein Datum für eine Prüfung. Das passiert.

Fehler 1364 (HY000): Feld ‚Betreff Name‘ keinen Standardwert“hat

Für jemanden relativ neu in MySQL, ich habe keine Ahnung, wie man diese Fehler zu beheben, und jede Hilfe wäre toll.

Vielen Dank im Voraus

Andrew

Er redigierte re ist die Tabelle, die ich erstellt und versucht habe zu verwenden.

CREATE TABLE IF NOT EXISTS entries(
subject_id INT UNSIGNED NOT NULL AUTO_INCREMENT, 
subject_name VARCHAR(30) NOT NULL, 
level_of_entry VARCHAR(10) NOT NULL, 
exam_board VARCHAR(10) NOT NULL, 
date_of_exam DATETIME NOT NULL, 
PRIMARY KEY (date_of_exam), 
FOREIGN KEY (subject_id) REFERENCES subjects(subject_id), 
FOREIGN KEY (subject_name) REFERENCES subjects(subject_name), 
FOREIGN KEY (level_of_entry) REFERENCES subjects(level_of_entry), 
FOREIGN KEY (exam_board) REFERENCES subjects(exam_board) 
); 
+0

Bitte veröffentlichen Sie Ihre Tabelle create-Anweisung. –

+0

subject_name ist eine schlechte Wahl für einen FK. Bleiben Sie bei subject_id. – Strawberry

+0

Entfernen Sie die letzten 3 Zeilen (und das Komma) – Strawberry

Antwort

0
CREATE TABLE IF NOT EXISTS entries(

subject_id INT UNSIGNED NOT NULL AUTO_INCREMENT, 

subject_name VARCHAR(20) NOT NULL DEFAULT '0.00', 

level_of_entry VARCHAR(10) NOT NULL, 

exam_board VARCHAR(10) NOT NULL, 

date_of_exam DATETIME NOT NULL, 

PRIMARY KEY (date_of_exam), 

FOREIGN KEY (subject_id) REFERENCES subjects(subject_id) 

); 
+0

Was könnte ich tun, um weitere Fremdschlüssel hinzuzufügen? Ich scheine in der Lage zu sein, nur einen zu addieren, und wenn ich die ALTER-Funktion verwende, um zu versuchen, es hinzuzufügen, kommt es mit einem Fehler vor, der besagt, dass es ausländische Schlüssel nicht hinzufügen kann? – roo6421

0

Ist dieser Fehler während der Tabellenerstellung auftreten oder wenn Sie Daten in die Tabelle einfügen?

Wenn dieser Fehler beim Einfügen von Daten in die Tabelle auftritt, liegt das wahrscheinlich daran, dass Sie einen Nullwert in das Feld subject_name einfügen. Wenn dies ein Fremdschlüssel ist, sollten Sie prüfen, ob die Tabelle subjects in diesem Feld keine Nullwerte enthält.

Verwandte Themen