ERROR 1064(42000):'匹配(match_id INT(30)NOT NULL,club1_id CHAR(5),club1_score_id INT(30),club'在第1行附近出错

时间:2015-10-24 16:32:37

标签: mysql mysql-error-1064

继续收到此错误:

  

错误1064(42000):您的SQL语法有错误;检查   手册,对应右边的MySQL服务器版本   在'Match(match_id INT(30)NOT NULL,club1_id'附近使用的语法   CHAR(5),club1_score_id INT(30),俱乐部'在第1行

尝试使用几个外键创建此表:

CREATE TABLE Match(
    match_id INT(30) NOT NULL,
    club1_id CHAR(5),
    club1_score_id INT(30),
    club2_id CHAR(5),
    club2_score_id INT(30),
    start_time TIME,
    end_time TIME,
    day INT(2),
    event_id INT(30),
    Primary Key(match_id),
    Foreign Key(club1_id) REFERENCES Club(club_id),
    Foreign Key(club2_id) REFERENCES Club(club_id),
    Foreign Key(club1_score_id) REFERENCES Score(score_id),
    Foreign Key(club2_score_id) REFERENCES Score(score_id),
    Foreign Key(event_id) REFERENCES Event(event_id));

虽然看不出任何有问题的东西。帮助

这是数据库设计。不会介意一些反馈。

Database Design

1 个答案:

答案 0 :(得分:0)

Match是保留字。我建议将其更改为Matches,以便在使用时不必引用它。我通常将我的表格命名为复数,因为它们包含多个实体,复数不太可能与保留字冲突。

保留字列表为here