Relazioni uno a molti

  • Creatore Discussione Creatore Discussione danilob
  • Data di inizio Data di inizio

danilob

Utente Attivo
3 Feb 2007
124
0
0
Vi chiedo delucidazioni circa una relazione 1 a molti

Ho una tabella livelli : id_livello | pagina | tipo_livello |
1 admin.php superadmin


e una Tabella Administrators:

id_Admin | Nome | Cognome | ID_Livelli_Admin
1 Andrea Rossi 1


ho creato dentro la cartella administrators un ID_Livelli_Admin che deve essere=id_livello

quando vado a inserire $q3="INSERT ignore INTO Livelli (tipo_livello, pagina) VALUES ('$livello','$pagina')" or die (mysql_error())

mi reinserice gli stessi dati (pagina:admin_control.php e livello:base), non badando alla clausola IGNORE.

In pratica la tabella livelli si popola con + righe sempre contenenti le stesse informazioni mentre nella relazione 1 a molti ad ogni ad ogni livello potrebbero corrispondere più admin, senza ridondanza dei dati...
 
INSERT IGNORE funziona solamente con i campi che sono chiavi univoche: a meno che uno dei campi interessati non sia una chiave univoca, inserirà comunque i dati all'interno della tabella anche se esiste una riga identica.

Nel tuo caso specifico, credo, dovresti strutturare la tabella in modo che il campo pagina sia una chiave univoca, giusto?
 

Discussioni simili