1

我一直在这里和其他地方查看很多帖子,但我仍然无法使其工作。

我正在尝试在 xampp 上创建以下 2 个表。但是我在第二次使用外键时遇到了问题,即使在添加了 InnoDB 之后也是如此。

谁能看看下面的代码并告诉我我在外键部分做错了什么,以至于 xampp 不接受表格?谢谢!

CREATE TABLE fichas (
    id_ficha INT UNSIGNED NOT NULL AUTO_INCREMENT UNIQUE,
    cod_produto VARCHAR(20) NULL,
    nome_produto VARCHAR(50),
    versao INT,
    data_ficha DATE,
    PRIMARY KEY (id_ficha)
) ENGINE=INNODB;

CREATE TABLE ident_dangers (
    id_fichas INT NOT NULL,
    class_subst TEXT NULL,
    simb_perigo VARCHAR(50) NULL,
    words_r VARCHAR (200) NULL,
    INDEX (id_fichas),
    FOREIGN KEY (id_fichas) REFERENCES fichas(id_ficha),
) ENGINE = InnoDB;
4

2 回答 2

5

我遇到过类似的错误。通常它来自于您的字段具有不同的类型。

你的桌子fichas有:

id_ficha INT UNSIGNED NOT NULL AUTO_INCREMENT UNIQUE

为了匹配它,您应该声明表id_dichas上的字段:ident_dangers

id_fichas INT UNSIGNED NOT NULL,
于 2012-11-26T12:00:10.187 回答
0

外键应该是另一个表中的主键,加上删除外键行末尾的逗号。

于 2018-03-06T22:21:12.300 回答