【问题标题】:SQL error 1064 fail to create a tableSQL 错误 1064 创建表失败
【发布时间】:2013-10-28 14:28:44
【问题描述】:

这是确切的代码

CREATE TABLE students
(
    ID int(11),
    name varchar(45),
    lname varchar(45),
    birth date,
    PRIMARY KEY (ID)
);
CREATE TABLE schools
(
    ID int(11),
    name varchar(35),
    PRIMARY KEY (ID)
);
CREATE TABLE courses
(
    ID char(7),
    name varchar(45),
    credits tinyint(4),
    school int(11),
    PRIMARY KEY (ID),
    FOREIGN KEY (school) REFERENCES schools(ID)
):
CREATE TABLE enrollment
(
    ID int(11),
    edate date,
    estart date,
    course char(7),
    studentid int(11),
    PRIMARY KEY (ID),
    FOREIGN KEY (studentid) REFERENCES students(ID),
    FOREIGN KEY (course) REFERENCES courses(ID)
);

它毫无问题地通过学生和学校,但是当它到达课程表时它会停止

MySQL 说:文档

#1064 - 您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册以获取正确的语法使用 附近':创建表注册( ID int(11), 约会日期, 开始日期, 课程在第 9 行

【问题讨论】:

    标签: mysql sql key create-table


    【解决方案1】:

    把冒号':'变成分号';'

    【讨论】:

    • 谢谢!多么可怕的错误:)
    • 没问题:经验法则就是仔细阅读错误信息告诉你的内容:大多数时候它从不骗你,而且很有帮助
    • 我确实阅读了错误消息,事实上我很喜欢它们,因为它们能够告诉我出了什么问题。但是在 SQL 中,我通常只是不理解错误,就好像我不知道如何阅读它们一样。例如它说第 9 行,但表示第 15-23 行
    猜你喜欢
    • 1970-01-01
    • 2021-11-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-13
    相关资源
    最近更新 更多