2016-04-07 52 views
0

這是一個後續到以前的問題,我都忍了鏈接here場「SUBJECT_NAME」沒有默認值

而現在,問題進行排序,但現在另外一個出現時,我試圖設置考試的日期時間。有時候是這樣的。

錯誤1364(HY000):字段「主題名稱」沒有默認值」

對於有人比較新的MySQL的,我不知道如何解決這個錯誤,任何幫助將是巨大的。

在此先感謝

安德魯

EDITED

他re是我創建並嘗試使用的表格。

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

請發表您的表格創建語句。 –

+0

subject_name是FK的不好選擇。堅持subject_id。 – Strawberry

+0

刪除最後3行(和逗號) – Strawberry

回答

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

如何添加更多外鍵?我似乎只能添加一個,而當我使用ALTER函數來嘗試添加它時,會出現一個錯誤,指出它無法添加外鍵? – roo6421

0

是表的創建過程中出現此錯誤或當您將數據插入到表?

如果在向表格中插入數據時發生此錯誤,可能是因爲您在字段subject_name中插入了空值。鑑於這是一個前衛的關鍵,你應該檢查subjects表在這個字段沒有空值。