domanda mySql
- COM_EASYSOCIAL_GUEST_NAME
-
Autore della discussione
- Visitatori
-
21 Anni 1 Mese fa #6380
da COM_EASYSOCIAL_GUEST_NAME
domanda mySql è stato creato da COM_EASYSOCIAL_GUEST_NAME
Qualcuno sa dirmi perché quando inserisco una chiave esterna in una tabella "figlio" che referenzia la tabella "padre" e provo ad eseguire inserimenti che vadano contro il vincolo di chiave esterna il programma non mi impedisca di farlo?
Utilizzo precisamente la sintassi del libro ma è come se mySql non riconoscesse il legame esistente tra le due tabelle...
Utilizzo precisamente la sintassi del libro ma è come se mySql non riconoscesse il legame esistente tra le due tabelle...
Si prega Accedi o Crea un account a partecipare alla conversazione.
- COM_EASYSOCIAL_GUEST_NAME
-
- Visitatori
-
21 Anni 1 Mese fa #6385
da COM_EASYSOCIAL_GUEST_NAME
hm...potresti essere un pò più chiaro...
Risposta da COM_EASYSOCIAL_GUEST_NAME al topic domanda mySql
Qualcuno sa dirmi perché quando inserisco una chiave esterna in una tabella "figlio" che referenzia la tabella "padre" e provo ad eseguire inserimenti che vadano contro il vincolo di chiave esterna il programma non mi impedisca di farlo?
Utilizzo precisamente la sintassi del libro ma è come se mySql non riconoscesse il legame esistente tra le due tabelle...
hm...potresti essere un pò più chiaro...
Si prega Accedi o Crea un account a partecipare alla conversazione.
- COM_EASYSOCIAL_GUEST_NAME
-
Autore della discussione
- Visitatori
-
21 Anni 1 Mese fa #6386
da COM_EASYSOCIAL_GUEST_NAME
Risposta da COM_EASYSOCIAL_GUEST_NAME al topic domanda mySql
create table impiegati(
cf char(15),
primary key(cf)
)
create table figli(
nome char(15),
cf char(15),
primary key(nome),
foreign key(cf) references impiegati
)
diciamo che in impiegati ho solamente il cf "A". se inserisco in figli una coppia ("pettorossi","B") perché non mi segnala errore per il vincolo di chiave esterna non essendoci il corrispondente "B" nella tabella impiegati? se invece provo ad inserire nuovamente "A" in impiegati l'errore dovuto all'inserimento di un valore già esistente nella chiave primaria me lo segnala....quindi??? non è che devo linkare in qualche modo le due tabelle, o usare una sequenza precisa nella loro creazione, o aggiungere qualche parolina magica che gli faccia capire a questo coso che la tabella impiegati è referenziata da figli??? è un piccolo grosso problemino, ma forse sono io che mi sto rincoglionendo
/* Grazie */
cf char(15),
primary key(cf)
)
create table figli(
nome char(15),
cf char(15),
primary key(nome),
foreign key(cf) references impiegati
)
diciamo che in impiegati ho solamente il cf "A". se inserisco in figli una coppia ("pettorossi","B") perché non mi segnala errore per il vincolo di chiave esterna non essendoci il corrispondente "B" nella tabella impiegati? se invece provo ad inserire nuovamente "A" in impiegati l'errore dovuto all'inserimento di un valore già esistente nella chiave primaria me lo segnala....quindi??? non è che devo linkare in qualche modo le due tabelle, o usare una sequenza precisa nella loro creazione, o aggiungere qualche parolina magica che gli faccia capire a questo coso che la tabella impiegati è referenziata da figli??? è un piccolo grosso problemino, ma forse sono io che mi sto rincoglionendo
Si prega Accedi o Crea un account a partecipare alla conversazione.
- COM_EASYSOCIAL_GUEST_NAME
-
- Visitatori
-
21 Anni 1 Mese fa #6387
da COM_EASYSOCIAL_GUEST_NAME
Risposta da COM_EASYSOCIAL_GUEST_NAME al topic domanda mySql
primary key(cf, nome)
eccole linkate!
Tutti i rif a nomi di prof sono altamente sgraditi!
eccole linkate!
Tutti i rif a nomi di prof sono altamente sgraditi!
Si prega Accedi o Crea un account a partecipare alla conversazione.
- COM_EASYSOCIAL_GUEST_NAME
-
Autore della discussione
- Visitatori
-
21 Anni 1 Mese fa #6388
da COM_EASYSOCIAL_GUEST_NAME
si ma così lo inserisco nella chiave primaria. io lo voglio come chiave esterna... insomma sono quasi sicuro che la sintassi sia quella che ho usato (anche perché è quella del libro
), solo che non funzionaaaa...dai conteeee, c'ho perso tre ore pe sta caxxataaa....
Risposta da COM_EASYSOCIAL_GUEST_NAME al topic domanda mySql
Si prega Accedi o Crea un account a partecipare alla conversazione.
- COM_EASYSOCIAL_GUEST_NAME
-
- Visitatori
-
21 Anni 1 Mese fa #6389
da COM_EASYSOCIAL_GUEST_NAME
Risposta da COM_EASYSOCIAL_GUEST_NAME al topic domanda mySql
devi mettere l'INDEX e creare le tabelle con type = InnoDB altrimenti il mySQL nn le gestiscele kiavi esterne.
Prova così:
create table impiegati(
cf char(15) NOT NULL,
primary key(cf)
) TYPE = InnoDB;
create table figli(
nome char(15) NOT NULL,
cf char(15) NOT NULL,
primary key(nome),
INDEX (cf),
foreign key(cf) references impiegati(cf)
) TYPE = InnoDB;
fammi sapere se funzeca
Prova così:
create table impiegati(
cf char(15) NOT NULL,
primary key(cf)
) TYPE = InnoDB;
create table figli(
nome char(15) NOT NULL,
cf char(15) NOT NULL,
primary key(nome),
INDEX (cf),
foreign key(cf) references impiegati(cf)
) TYPE = InnoDB;
fammi sapere se funzeca
Si prega Accedi o Crea un account a partecipare alla conversazione.