-2

我有一个语法错误,我很难辨别。帮助表示赞赏!

Schema Creation Failed:您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在 '`i_id` int、PRIMARY KEY (d_id)、FOREIGN KEY (i_id) REFERENCES Indicators (i_id' at 第 6 行附近使用正确的语法:

CREATE TABLE Indicators
(
    `i_id` int AUTO_INCREMENT,
    `i_name` varchar(255),
    PRIMARY KEY (i_id)
);

CREATE TABLE Data
(
    `d_id` int AUTO_INCREMENT,
    `Year` year,
    `Datapoint` float(24,2)
    `i_id` int,
    PRIMARY KEY (d_id),
    FOREIGN KEY (i_id) REFERENCES Indicators (i_id)
);
4

2 回答 2

6

Datapoint您在行尾缺少逗号

此外,如果您的 MySQL 实例的默认引擎不是InnoDB,您将无法创建外键。

于 2013-05-31T20:00:49.903 回答
2
CREATE TABLE Data
(
    `d_id` int AUTO_INCREMENT,
    `Year` year,
    `Datapoint` float(24,2),
                           ^------ here it is
    `i_id` int,
    PRIMARY KEY (d_id),
    FOREIGN KEY (i_id) REFERENCES Indicators (i_id)
);

你后面少了一个逗号float(24,2)

于 2013-05-31T20:01:11.423 回答