Visualizzazione risultati 1 fino 6 di 6

Discussione: creare nuova tabella e un nuovo campo

  1. #1
    Data registrazione
    03-09-2013
    Residenza
    Los Angeles
    Messaggi
    191

    Predefinito creare nuova tabella e un nuovo campo

    ad una struttura Db (5 tabelle gia relazionate) devo aggiungere un altra tabella
    id, campo1

    e alla tabella principale già esistente aggiungere il realtivo
    campo1id

    per realizzare una ulteriore realzione una a molti



    ma ne stanno succedendo di tutti i colori nn riesco come dovrei fare?

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

    Predefinito

    Puoi usare PhpMyAdmin per creare la tabella seguendo la procedura guidata. Lo stesso per l'aggiunta della colonna in un'altra tabella.

    Quali problemi riscontri esattamente?

    I suggerimenti che do più spesso:


  3. #3
    Data registrazione
    03-09-2013
    Residenza
    Los Angeles
    Messaggi
    191

    Predefinito

    errore: manca l indice sul campo
    che indice dovrei mettere e dove su campo1 o campo1id ?

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

    Predefinito

    Quest'errore viene mostrato quando crei la nuova tabella? Se sì è piuttosto strano, gli indici non sono obbligatori... prova comunque a dichiarare la colonna id come PRIMARY KEY.

    Oppure l'errore viene mostrato quando cerchi di mettere in relazione la nuova tabella con una di quelle vecchie? In questo caso assicurati di usare correttamente le chiavi esterne.

    I suggerimenti che do più spesso:


  5. #5
    Data registrazione
    03-09-2013
    Residenza
    Los Angeles
    Messaggi
    191

    Predefinito

    l'errore viene mostrato quando cerco di mettere in relazione le tabelle, come devo usare le chiavi esterne? io metto chiave primaria a l' "id" della nuova tabella e basta..

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

    Predefinito

    La chiave primaria nella nuova tabella è sufficiente.

    In teoria dovresti definire una chiave esterna nella tabella che contiene un riferimento all'id di quella nuova, questa è l'operazione che vuol dire "mettere in relazione" due tabelle. Nella pratica in realtà non è necessario, le JOIN funzioneranno comunque, semplicemente non avrai vincoli di integrità automatici.

    Quello che mi dà da pensare è che da quanto hai scritto capisco che non hai definito una chiave esterna, hai solo creato una tabella ed aggiunto una colonna ad un'altra, dunque non capisco cosa centri l'indice nel messaggio d'errore.

    Stai lavorando da PhpMyAdmin? Hai modo di riportare il testo delle query che esegue quando fai queste operazioni?

    Ad ogni modo, le chiavi esterne si definiscono così, però ti sconsiglio di usarle finché non hai risolto il problema:
    Codice:
    ALTER TABLE vecchia_tabella
    ADD CONSTRAINT FK_nome_della_chiave
    FOREIGN KEY (campo_della_vecchia_tabella) REFERENCES nuova_tabella(id);

    I suggerimenti che do più spesso:


Regole di scrittura

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