2016-04-07 50 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表在这个字段没有空值。