Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2007
    Messaggi
    70

    [mysql]Creazione tabelle con chiavi esterne

    Ho creato un file install.php(eccolo sotto)...funziona correttamente ma crea solo la tabella Artisti_Registrati e quella Album, ma non quelle Canzoni...come mai?

    include("config.inc.php");

    $db = mysql_connect($db_host, $db_user, $db_password);


    if ($db == FALSE)
    die ("Errore nella connessione. Verificare i parametri nel file config.inc.php");

    mysql_select_db($db_name, $db)
    or die ("Errore nella selezione del database. Verificare i parametri nel file config.inc.php");

    $query = "CREATE TABLE Artisti_Registrati (id_artista INT (5) UNSIGNED not null AUTO_INCREMENT,
    nome VARCHAR (255) not null , data DATE , genere VARCHAR (50) ,
    email VARCHAR (50) , utente VARCHAR (20) not null , password VARCHAR (10) not null ,
    biografia TEXT , PRIMARY KEY (utente))" TYPE = InnoDB;

    $query2 = "CREATE TABLE Album (id_album INT (5) UNSIGNED not null AUTO_INCREMENT,
    titolo VARCHAR (255) not null , anno INT(4) , numero_brani INT(2) , PRIMARY KEY (titolo)) TYPE = InnoDB ";

    $query3 = "CREATE TABLE Canzoni (id_canzoni INT (5) UNSIGNED not null AUTO_INCREMENT,
    nome_canzone VARCHAR (255) not null, autore VARCHAR (255), durata INT(3) ,
    PRIMARY KEY (nome_canzone) , FOREIGN KEY (id_album) REFERENCES Album(id_album))TYPE = InnoDB ";

    if (mysql_query($query, $db) and mysql_query($query2, $db) and mysql_query($query3, $db))
    echo "L'installazione è stata eseguita correttamente";
    else
    echo "Errore durante l'installazione
    ";

    mysql_close($db);

  2. #2
    Utente di HTML.it L'avatar di kodode
    Registrato dal
    Sep 2002
    Messaggi
    1,896
    sei sicuro che le altre due funzionino?? cmq posta l'errore...

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2007
    Messaggi
    70
    Originariamente inviato da kodode
    sei sicuro che le altre due funzionino?? cmq posta l'errore...
    il fatto è che non da errore....
    Dice che l'installazione è avvenuta correttamente , ma andando a vedere con phpMyAdmin ci sono solo le prime 2 tabelle....

  4. #4
    Utente di HTML.it L'avatar di kodode
    Registrato dal
    Sep 2002
    Messaggi
    1,896
    prova ad aggiungere
    mysql_query($query, $db) or die( mysql_error()

    provala su tutte...

  5. #5
    Utente di HTML.it
    Registrato dal
    Nov 2007
    Messaggi
    70
    dice:

    Key column 'id_album' doesn't exist in table

  6. #6
    Utente di HTML.it L'avatar di kodode
    Registrato dal
    Sep 2002
    Messaggi
    1,896
    è lo stesso errore che a me...

    la chiave esterna non esiste. Devi prima crearla.

  7. #7
    Utente di HTML.it
    Registrato dal
    Nov 2007
    Messaggi
    70
    Originariamente inviato da kodode
    è lo stesso errore che a me...

    la chiave esterna non esiste. Devi prima crearla.
    cioè prima creo la tabella Album che contiene id_Album e poi posso creare la tabella Canzoni...giusto?


    ora provo

  8. #8
    Utente di HTML.it
    Registrato dal
    Nov 2007
    Messaggi
    70
    Prima eseguo la creazione delle prime 2 tabelle e mi stampa che l'operazione è andata bene e infatti vedo le 2 tabelle....poi a seguito eseguo la query 3 ma mi dice ancora Key column 'id_album' doesn't exist in table...

  9. #9
    Utente di HTML.it
    Registrato dal
    Nov 2007
    Messaggi
    70
    ok ci sono arrivato....bisogna creare il campo id_utente e poi dichiararlo come chiave esterna

  10. #10
    Utente di HTML.it L'avatar di kodode
    Registrato dal
    Sep 2002
    Messaggi
    1,896

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 © 2024 vBulletin Solutions, Inc. All rights reserved.