这是我的问题:
我正在一个名为David
的数据库中工作,试图在此创建两个表:colores
和productos
,这两个表将通过外键链接,其中父表将是colores
,子表将为productos
,但是当我单击继续时,将显示以下消息:
errno:150“外键约束格式不正确”
有人可以帮助我吗?
这是我写的代码:
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;
这是我编写的代码。
这是出现的错误。
最佳答案
从技术上讲,问题只是单词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
。只是说。它成为自动和冗余的。关于mysql - 如何创建两个与外键链接的表,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33848131/