Visualizzazione dei risultati da 1 a 5 su 5

Discussione: Problema db sql

  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2003
    Messaggi
    59

    Problema db sql

    Ho 3 tabelle

    ingresso (id,data, oraing,orausc,idcorso,cfabb ,cfoccas)

    abbonato (cf, nome, cognome,telefono,datan,luogon,tipo,nomeente,percsc onto,note)

    occasionale (cf, nome, cognome,codscheda,codcorso)

    cfabb e cfoccas sono le chiavi esterne di abbonato ed occasionale.

    Il problema è che a me interessa che quando l' ingresso viene effettuato da un abbonato, il campo cfoccas deve essere vuoto e viceversa solo che mentre inserisco i dati il db richiede l' inserimento di tutti e due i campi. C'è un modo per ovviare a tale problema?

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2003
    Messaggi
    59
    Proprio niente?

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2009
    Messaggi
    110
    Avrai configurato quei campi affinchè non possano avere valori nulli. In tal caso rimuovi il not_null e fai degli opportuni controlli via php.

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2003
    Messaggi
    59
    Una chiave primaria (cf) è per forza not null, quindi di conseguenza mi richiede sia il cfabb e il cfoccas (cioè quelle esterne) nella tabella ingresso. Qua il problema lo vedo proprio a livello di db, non di php. ciao e grazie !

  5. #5
    Utente di HTML.it
    Registrato dal
    Mar 2009
    Messaggi
    110
    Originariamente inviato da stradlin
    Una chiave primaria (cf) è per forza not null, quindi di conseguenza mi richiede sia il cfabb e il cfoccas (cioè quelle esterne) nella tabella ingresso. Qua il problema lo vedo proprio a livello di db, non di php. ciao e grazie !
    Certo, cf è una chiave primaria e quindi deve essere not_null, ma cfabb e cfoccas sono chiavi distinte che tu utilizzi per fare un left join (suppongo). E' corretto?

    In ogni caso il database è organizzato male. Fossi in te, specialmente se non hai inserito troppi dati, creerei una tabella unica sia per gli abbonati che per gli occasionali, inserendo poi una colonna che ti possa permettere di distinguerli (1=abbonato, 0=occasionale).

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.