Visualizzazione risultati 1 fino 3 di 3

Discussione: Errore alla creazione delle tabelle: Cannot add foreign key constraint

  1. #1
    Guest

    Angry Errore alla creazione delle tabelle: Cannot add foreign key constraint

    Ciao ragazzi, sto creando un database con delle tabelle e delle chiavi esterne (foreign key), funziona tutto meno che le foreign key e mi da questo errore: Error Code: 1215. Cannot add foreign key constraint

    mi potete aiutare? grazie =)

    Vi posto le query:

    Codice:
    CREATE SCHEMA `Rubik's_Cubes`;
    USE `Rubik's_Cubes`;
    
    /*Tabella Collezionista*/
    CREATE TABLE Collezionista(
    	id INTEGER auto_increment PRIMARY KEY,
    	nome TEXT NOT NULL,
    	cognome TEXT NOT NULL,
    	telefono INTEGER NOT NULL,
    	ranking INTEGER NOT NULL UNIQUE,
    	id_ogg_pref INTEGER DEFAULT NULL,
    
    	FOREIGN KEY (id_ogg_pref) REFERENCES Oggetto(id)
    		ON DELETE SET NULL
    		ON UPDATE CASCADE
    );
    
    /*Tabella Possiede*/
    CREATE TABLE Possiede(
    	id_collezionatore INTEGER NOT NULL,
    	id_oggetto INTEGER NOT NULL,
    	tempo_sol DOUBLE DEFAULT NULL,
    
    	FOREIGN KEY (id_collezionatore) REFERENCES Collezionista(id)
    		ON DELETE CASCADE
    		ON UPDATE NO ACTION,
    
    	FOREIGN KEY (id_oggetto) REFERENCES Oggetto(id)
    		ON DELETE NO ACTION
    		ON UPDATE NO ACTION
    );
    
    /*Tabella Oggetto*/
    CREATE TABLE Oggetto(
    	id INTEGER AUTO_INCREMENT PRIMARY KEY,
    	nome TEXT NOT NULL,
    	id_tipo INTEGER NOT NULL,
    	id_tipo2 INTEGER DEFAULT NULL,
    	valore DOUBLE NOT NULL,
    	descrizione TEXT NOT NULL,
    	detentore_record INTEGER DEFAULT NULL,
    	tempo_record DOUBLE DEFAULT NULL,
    
    	FOREIGN KEY (id_tipo) REFERENCES Tipologia(id)
    		ON DELETE NO ACTION
    		ON UPDATE CASCADE,
    
    	FOREIGN KEY (id_tipo2) REFERENCES Tipologia(id)
    		ON DELETE NO ACTION
    		ON UPDATE CASCADE,
    
    	FOREIGN KEY (detentore_record) REFERENCES Collezionista(id)
    		ON DELETE SET NULL
    		ON UPDATE CASCADE
    );
    
    /*Tabella Tipologia*/
    CREATE TABLE Tipologia(
    	id INTEGER AUTO_INCREMENT PRIMARY KEY,
    	nome TEXT NOT NULL,
    	descrizione TEXT NOT NULL,
    	provenienza TEXT NOT NULL
    );
    Ultima modifica di zappapp : 12-12-2013 alle ore 19.50.37

  2. #2
    L'avatar di saitfainder
    saitfainder non č connesso Sėniör Stäff
    Data registrazione
    06-12-2002
    Residenza
    Torino
    Messaggi
    8,715

    Predefinito

    Ma lo stai facendo su Altervista? Sicuro che quelle tabelle siano di tipo InnoDB?


    «Č una mia peculiaritą distorcere la veritą e inventarne di nuove.»
    «I tuoi orientamenti hanno su di me un effetto prossimo allo zero.»


  3. #3
    Guest

    Predefinito

    No, lo sto facendo su workbench in locale e non so se sono innoDB..

Tags for this Thread

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •