2016-11-09 122 views
1

我的代码:代码产生错误1064(42000),我不知道为什么

CREATE TABLE entries (
    entry_id INT NOT NULL, 
    date_of_exam DATETIME NOT NULL, 
    student_id INT, 
    subject_id INT, 
    PRIMARY KEY(entry_id) 
    FOREIGN KEY student_id REFERENCES students (student_id), 
    FOREIGN KEY subject_id REFERENCES subjects (subject_id)); 

返回的错误信息是:

错误1064(42000):您有一个您的SQL语法错误;检查对应于你的MySQL服务器版本的权利 语法使用附近的 手册“外键student_id数据参考文献的学生 (student_id数据),外键subject_id”在第7行

我已经彻底检查代码,在线但我似乎无法找到解决方案。 请帮助

+2

是此SQL Server或MySQL?另外应该在PRIMARY KEY(entry_id)之后有一个逗号? – DB101

+0

@ DB101这是MySQL,我试着把逗号放进去,但它仍然没有工作 – Kez

回答

1

下面

尝试请参见参考 https://dev.mysql.com/doc/refman/5.5/en/create-table-foreign-keys.html

CREATE TABLE entries (
    entry_id INT NOT NULL, 
    date_of_exam DATETIME NOT NULL, 
    student_id INT, 
    subject_id INT, 
    PRIMARY KEY(entry_id), 
    FOREIGN KEY (student_id) REFERENCES students (student_id), 
    FOREIGN KEY (subject_id) REFERENCES subjects (subject_id)); 
+0

试过这个,仍然不起作用 – Kez

相关问题