Visualizzazione risultati 1 fino 10 di 10

Discussione: Impossibile aggiungere una chaive esterna

  1. #1
    Data registrazione
    05-02-2020
    Messaggi
    6

    Exclamation Impossibile aggiungere una chaive esterna

    Buongiorno,
    non riesco ad aggiungere una chiave esterna,e se provo a fare un alter non mi da nessun errore ma non mi crea la chiave esterna.
    In locale sul mio PC funziona, ma nel database di Altervista no.
    Queste sono le tabelle che non riesco a collegare:

    CREATE TABLE squadre(
    id_utente INTEGER(9) NOT NULL,
    nome_squadra VARCHAR(100) NOT NULL,
    CONSTRAINT pk_squadre_utenti PRIMARY KEY(id_utente, nome_squadra),
    CONSTRAINT fk_id_utente FOREIGN KEY (id_utente) REFERENCES utenti(idTelegramUtente)
    )ENGINE = InnoDB;

    CREATE TABLE squadre_giocatore(
    id_utente INTEGER(9) NOT NULL,
    nome_squadra VARCHAR(100) NOT NULL,
    id_giocatore INTEGER NOT NULL,
    CONSTRAINT pk_squadre_giocatori PRIMARY KEY (id_utente, nome_squadra, id_giocatore),
    CONSTRAINT fk_squadre FOREIGN KEY (id_utente, nome_squadra) REFERENCES squadre(id_utente, nome_squadra),
    CONSTRAINT fk_id_giocatore FOREIGN KEY (id_giocatore) REFERENCES giocatori(id_giocatore)
    )ENGINE = InnoDB;
    Ultima modifica di TelegramBotDevelopment : 08-02-2020 alle ore 19.01.07

  2. #2
    mzanella non è connesso AlterGuru
    Data registrazione
    29-12-2015
    Messaggi
    1,954

    Predefinito

    Hai attivato il motore InnoDB dal pannello di controllo?

    I suggerimenti che do più spesso:


  3. #3
    Data registrazione
    05-02-2020
    Messaggi
    6

    Predefinito

    Si l'ho attivato

  4. #4
    Data registrazione
    05-02-2020
    Messaggi
    6

    Predefinito

    Nessuno può aiutarmi?

  5. #5
    mzanella non è connesso AlterGuru
    Data registrazione
    29-12-2015
    Messaggi
    1,954

    Predefinito

    Mh, se non ti viene mostrato nessun errore in base a cosa concludi che la chiave esterna non venga creata?
    Forse esegui una query che ti aspetti dovrebbe fallire in quanto il vincolo della chiave esterna non è soddisfatto, mentre questa viene invece eseguita?

    I suggerimenti che do più spesso:


  6. #6
    Data registrazione
    05-02-2020
    Messaggi
    6

    Predefinito

    Perché se si guarda la struttura si vede che non c'è la chiave esterna e se provo a crearla da interfaccia grafica non mi mostra alcun attributo della tabella squadre

  7. #7
    mzanella non è connesso AlterGuru
    Data registrazione
    29-12-2015
    Messaggi
    1,954

    Predefinito

    Forse è una banalità, ma oltre ad aver attivato InnoDB hai anche verificato che le tabelle in questione lo usino come motore?

    I suggerimenti che do più spesso:


  8. #8
    Data registrazione
    05-02-2020
    Messaggi
    6

    Predefinito

    Si, ma la cosa che mi rende perplesso è che in locale funziona correttamente

  9. #9
    mzanella non è connesso AlterGuru
    Data registrazione
    29-12-2015
    Messaggi
    1,954

    Predefinito

    Ho esaurito le idee . Nel forum c'è una discussione di un utente che aveva un problema con le chiavi esterne, da cui si può dedurre che siano utilizzabili.
    La mancanza di un messaggio d'errore quando cerchi di crearne una di solito è un indicatore che la tabella sta utilizzando MyISAM come motore, ma se hai già verificato che sia InnoDB c'è poco da fare.
    L'unica alternativa che mi viene in mente è che la chiave esterna sia correttamente creata, ma non mostrata da PhpMyAdmin.

    I suggerimenti che do più spesso:


  10. #10
    Data registrazione
    05-02-2020
    Messaggi
    6

    Predefinito

    Grazie lo stesso, cerco di risolvere se no cambio lo schema del Database

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
  •