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

    Create table con chiave esterna

    Ciao a tutti,
    sto cercando di creare una tabella in mysql con il seguente comando...

    CREATE TABLE wp_livello (
    id INT(10) NOT NULL AUTO_INCREMENT PRIMARY KEY,
    valore INT(10) NOT NULL,
    FOREIGN KEY ('idUtente') REFERENCES wp_utenti ('id')
    );

    e ho già una tabella wp_utenti con i seguenti dati
    |id| |nome| |cognome| |email|

    Io ora devo creare una tabella livello che abbia come chiave esterna l'ide dell'Utente e ottenere una tabella come quella che segue
    |id| |idUtente(la chiave esterna)| |livello|

    In cosa sto sbagliando nella create table?

    Grazie a tutti

  2. #2
    Mi sembra di potere dire che il problema è che usi dei comandi errati!
    Le foreign keys sono supportate in MySQL solo se si utilizza il motore InnoDB, quindi un DB relazionale.
    Nella tua dichiarazione di tabella, non mi sembra di vedere una dichiarazione di ENGINE, per cui MySQL imposta di default il motore MyISAM, che non supporta i DB transazionali.
    Se poi, tutto il DB è con motore MyISAM, allora non ha senso creare una constraint.

    <ALCIO />
    Per cortesia: no PVT Tecnici
    ******* LINKS *******
    SRL
    MetalWave

  3. #3
    Originariamente inviato da alcio74
    Mi sembra di potere dire che il problema è che usi dei comandi errati!
    Le foreign keys sono supportate in MySQL solo se si utilizza il motore InnoDB, quindi un DB relazionale.
    Nella tua dichiarazione di tabella, non mi sembra di vedere una dichiarazione di ENGINE, per cui MySQL imposta di default il motore MyISAM, che non supporta i DB transazionali.
    Se poi, tutto il DB è con motore MyISAM, allora non ha senso creare una constraint.

    Ciao guarda sono riuscito a sistemare il tutto inserendo un id univoco nella tabella utenti e poi in base a quello inserisco il livello dell'utente e il suo id nell'altra tabella....

  4. #4
    Infatti era proprio quello che dovevi fare: senza utilizzare una foreign key!

    <ALCIO />
    Per cortesia: no PVT Tecnici
    ******* LINKS *******
    SRL
    MetalWave

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.