在Xampp上使用外键的MySQL表

use*_*579 1 mysql foreign-keys

我一直在寻找这里和其他地方的很多帖子,但我仍然无法使它工作.

我正在尝试在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;
Run Code Online (Sandbox Code Playgroud)

Yar*_*lav 5

我遇到过类似的错误.通常它来自你的领域有不同的类型.

你的桌子fichas有:

id_ficha INT UNSIGNED NOT NULL AUTO_INCREMENT UNIQUE
Run Code Online (Sandbox Code Playgroud)

要匹配它id_dichas,ident_dangers应声明表格中的字段:

id_fichas INT UNSIGNED NOT NULL,
Run Code Online (Sandbox Code Playgroud)

  • 这是一个问题.另一个是外键定义末尾的逗号. (4认同)