Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    problema con la foreign key

    ho un problema con un database! Ho due tabelle
    appelli
    prenotati
    e devo fare in modo che quando cambio (in appelli) la data di un appello questa deve essere modificata anche nelle righe corrispondenti di prenotati, o in caso di eliminazione di un appello devono essere cancellate anche le righe corispondenti in prenotati!!!

    IL CODICE CHE HO SCRITTO è IL SEGUENTE MA NON FUNZIONA




    CREATE TABLE auth_prof (
    ID int(6) NOT NULL auto_increment,
    prof char(100) NOT NULL,
    passwd char(9) NOT NULL,
    facolta char(25) NOT NULL,
    materia char(150) NOT NULL,
    anno int(1) NOT NULL,
    PRIMARY KEY (ID)
    );


    CREATE TABLE auth_stud (
    matricola int(9) NOT NULL,
    nome char(100) NOT NULL,
    cognome char(100) NOT NULL,
    passwd char(9) NOT NULL,
    facolta char(25) NOT NULL,
    anno int(1) NOT NULL,
    PRIMARY KEY (matricola)
    );

    CREATE TABLE appelli(
    prof char(100) NOT NULL,
    facolta char(25) NOT NULL,
    anno int(1),
    materia char(150) NOT NULL,
    data datetime NOT NULL,
    PRIMARY KEY (prof,materia,data),
    foreign key(prof,materia,data) references prenotati(prof,materia,data)
    on delete cascade
    on update cascade
    );



    CREATE TABLE prenotati (
    nome char(25) NOT NULL,
    cognome char(25) NOT NULL,
    matricola int(9) NOT NULL,
    facolta char(25) NOT NULL,
    materia char(150) NOT NULL
    data datetime NOT NULL
    prof char(100) NOT NULL
    PRIMARY KEY (matricola,materia),
    foreign key(prof,materia,data) references appelli(prof,materia,data)
    on delete cascade
    on update cascade
    );




    come posso fare?
    baldambembo
    http:\\www.easy.3000.it

  2. #2
    Utente di HTML.it
    Registrato dal
    Apr 2003
    Messaggi
    534
    Sarà un commento banale il mio, ma per quello che vuoi fare le tabelle devono essere InnoDB e non MyISAM come è il default di MySQL.


Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.