• User Newbie

    error 1005 (hy000): can't create table reparto.simone (errno:105)

    perchè non mi fa creare la tabella reparto?? 😞 :help: uso mysql command line client
    Create table film (
    anno_produzione integer not null,
    titolo char not null,
    versione char,
    fascia_appartenenza char,
    primary key (anno_produzione, titolo),
    unique (titolo));

    create table abbonamento (
    cod integer primary key not null,
    Tipo char,
    Sconto integer,
    Data_reg datetime,
    Ncopie integer,
    Durata char,
    unique (cod));

    create table regione (
    nome char primary key not null,
    unique (nome));

    create table distributore (
    pi integer primary key not null);

    create table lingua (
    nome char primary key not null);

    create table provincia (
    nome char primary key not null,
    nome_regione char ,
    foreign key (nome_regione) references regione (nome),
    unique (nome));

    create table citta (
    nome char primary key not null,
    nome_provincia char,
    pi_distributore integer,
    foreign key (nome_provincia) references provincia (nome),
    foreign key (pi_distributore) references distributore (pi),
    unique (nome));

    create table servicepoint (
    pi integer primary key not null,
    pi_distributore integer,
    nome_citta char,
    foreign key (pi_distributore) references distributore (pi),
    foreign key (nome_citta) references citta (nome),
    unique (pi));

    create table copiafisica (
    supporto char not null,
    titolo_film char not null,
    anno_produzione_film integer not null,
    primary key (supporto, titolo_film, anno_produzione_film),
    foreign key (titolo_film) references film (titolo),
    foreign key (anno_produzione_film) references film (anno_produzione));

    create table magazzino (
    via char not null,
    numero_civico integer not null,
    pi_servicepoint integer not null,
    nome_citta char,
    primary key (via, numero_civico, pi_servicepoint),
    foreign key (pi_servicepoint) references servicepoint (pi),
    foreign key (nome_citta) references citta (nome),
    unique (via, numero_civico));

    create table reparto (
    nome char primary key not null,
    numero_civico_magazzino integer,
    via_magazzino char,
    foreign key (numero_civico_magazzino) references magazzino (numero_civico),
    foreign key (via_magazzino) references magazzino (via));

    mi esce l'errore messo come titolo della discussione!! 😞 aiutatemi 😞 😞


  • User

    Ciao

    io non penso si possa fare questo
    primary key (anno_produzione, titolo),

    la chiave primaria deve essere 1


  • User Newbie

    però alle altre tabelle me l'ha fatto fare! 😞


  • User

    ma la chiave primaria è già unica quindi il titolo è unico 2 volte XD

    primary key (anno_produzione, titolo),
    unique (titolo));


  • User Newbie

    si anche questo....però il problema è sulla tabella reparto...o meglio sul foreign key (numero_civico_magazzino) references magazzino (numero_civico) .... solo questo fk non mi fa creare...xkè l'altra fk me la fa creare... 😞