我正在尝试创建一些数据库,但我收到此错误: ERROR 1005(HY000):无法创建表'ist170438.Composto'(错误号:150)
drop table Encomenda;
drop table Cliente;
drop table Venda;
drop table Disponivel;
drop table Data;
drop table Restaurante;
drop table Prato;
drop table Agregado;
drop table Simples;
drop table Alimento;
create table Alimento(
nomeA varchar(30),
vegetariano varchar(30),
primary key (nomeA));
create table Simples(
nomeA varchar(30),
calgramas double,
tipo varchar(30),
primary key (nomeA),
foreign key (nomeA) references Alimento(nomeA));
create table Agregado(
nomeA varchar(30),
calorias double,
primary key (nomeA),
foreign key (nomeA) references Alimento(nomeA));
create table Composto(
nomeAgg varchar(30),
nomeS varchar(30),
quantidade integer,
primary key(nomeAgg,nomeS),
foreign key(nomeAgg) references Agregado(nomeAgg),
foreign key(nomeS) references Simples(nomeS));
任何人都可以帮我找到这个错误吗?我无法理解什么是错的
答案 0 :(得分:0)
你的最后一张桌子不应该是这样吗?
CREATE TABLE Composto (
nomeAgg varchar(30),
nomeS varchar(30),
quantidade integer,
PRIMARY KEY (nomeAgg, nomeS),
FOREIGN KEY (nomeAgg) REFERENCES Agregado (nomeA),
FOREIGN KEY (nomeS) REFERENCES Simples (nomeA)
);