Ciao a tutti,
come faccio a dichiarare una relazione da n a (0,n) in SQL?
Grazie mille in anticipo
Ciao a tutti,
come faccio a dichiarare una relazione da n a (0,n) in SQL?
Grazie mille in anticipo
Flash Developer for Rich Media
PHP, jQuery Developer
E' una relazione n:n, si usa una tabella apposita che riporta le chiavi delle due entità interessate
Una tabella apposita? Ovvero?
No, perchè, spiego il problema:
Io ho una tabella "Posta" che ha tra i vari campi "mittente" e "destinatario" che sono tutt'e due relazionati con Utenti.username.
Solo che ogni tanto capita che voglio inserire come mittente "Sistema" che non è un utente e quindi non compare nella tabella Utenti e quindi MySQL mi dà un errore di incompatibilità tra i campi.
Volevo ovviare creando una tabella invece che n a n una n a (0,n)
Spero di essermi spiegato ^_^
Flash Developer for Rich Media
PHP, jQuery Developer
Sono tordo e stanco quindi non ho capito benissimo cosa vuoi ottenereOriginariamente inviato da Miroku
Una tabella apposita? Ovvero?
No, perchè, spiego il problema:
Io ho una tabella "Posta" che ha tra i vari campi "mittente" e "destinatario" che sono tutt'e due relazionati con Utenti.username.
Solo che ogni tanto capita che voglio inserire come mittente "Sistema" che non è un utente e quindi non compare nella tabella Utenti e quindi MySQL mi dà un errore di incompatibilità tra i campi.
Volevo ovviare creando una tabella invece che n a n una n a (0,n)
Spero di essermi spiegato ^_^ma ...
perchè non memorizzi "Sistema" come utente fittizzio?
Bye.
Beh se potessi evitare sarebbe meglio... se poi sarà l'ultima spiaggia farò così...
Flash Developer for Rich Media
PHP, jQuery Developer
non mi sembra affatto l'ultima spiaggia.
è il metodo migliore per non appesantire con ulteriori relazioni il db...
La cosa che vuoi fare non è possibile poichè nel momento in cui esiste una relazione questa può essere soddisfatta o meno e siccome l'utente "Sistema" non esiste se lo inserisci come valore per una chiave esterna nella tua tupla automaticamente ti darà errore.
Avere una relazione N0-n) non significa che puoi inserire riferimenti a dati inesistenti ma significa solo che per quel determinato attributo puoi specificare NULL.
Quindi la soluzione è quella di creare l'utente "Sistema" oppure semplicemente di eliminare quella relazione (ma non so quanto ti convenga).
mmmmh vero, non ci avevo pensato al tuo ragionamento....
creerò l'utente Sistema, grazie mille =D
Flash Developer for Rich Media
PHP, jQuery Developer