如何创建两个与外键

时间:2015-11-21 20:15:26

标签: mysql database

这是我的问题: 我正在一个名为David的数据库中工作,我试图创建两个表:coloresproductos,它们将通过一个外键来链接,其中父表将是{ {1}}和子表格为colores,但当我点击“继续”时,会显示以下消息:

  

错误:150“外键约束形成错误”

有人可以帮助我吗?

这是我写的代码:

productos

这是我写的代码。 enter image description here

这是出现的错误。 enter image description here

1 个答案:

答案 0 :(得分:2)

技术上问题只是单词references之后的缺失空间,但整个过程需要更多的空间。

create table `color`(
    id_color int(3) not null AUTO_INCREMENT,
    nombre varchar(30) not null,
    PRIMARY KEY(id_color)
) ENGINE=INNODB;

create table`producto`(
    id_producto int(3) NOT null AUTO_INCREMENT,
    nombre varchar(30) not null,
    id_color int(3) not null,
    precio decimal(10) not null,
    PRIMARY KEY(id_producto),
    INDEX(id_color),
    FOREIGN KEY(id_color)
    REFERENCES `color`(id_color) on UPDATE CASCADE
) ENGINE= INNODB;

此外,PK列上不需要NOT NULL。只是说。它变得自动且多余。