首页 文章

创建表时出现错误1005

提问于
浏览
0

我正在尝试创建一些数据库,但我收到此错误: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));

任何人都可以帮我找到这个错误吗?我无法理解什么是错的

1 回答

  • 0

    你的最后一张 table 不应该这样吗?

    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)
    );
    

相关问题