|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Jan 2004
Città: ROMA
Messaggi: 2055
|
[MySQL] Problemi con delle foreign key
Salve a tutti,
ho un problema quando vado a fare l'UPDATE di alcuni campi di una tabella, a causa dei vincoli di foreign key. Ho due tabelle, descritte come segue: Tabella ContoCorrente con numero di conto e banca: Codice:
+---------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +---------+-------------+------+-----+---------+-------+ | NUM | int(11) | NO | PRI | 0 | | | BANCA | varchar(30) | NO | PRI | | | +---------+-------------+------+-----+---------+-------+ Codice:
+-----------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-----------+-------------+------+-----+---------+-------+ | ID | varchar(30) | NO | PRI | | | | TOTALE | float(10,2) | YES | | NULL | | | NUM_CONTO | int(11) | YES | MUL | NULL | | | BANCA | varchar(30) | YES | | NULL | | +-----------+-------------+------+-----+---------+-------+ Codice:
FOREIGN KEY (`NUM_CONTO`, `BANCA`) REFERENCES `CONTOCORRENTE` (`NUM`, `BANCA`) Per quanto riguarda l'inserimento non ci sono problemi. Il problema è che quando vado a fare una update, mi va in errore. Es.: Codice:
UPDATE FATTURA SET BANCA="Unicredit" AND NUM_CONTO=1235 where ID="1234"; BANCA="Unicredit" e NUM=1235. L'errore che ottengo è il seguente: Codice:
ERROR 1452 (23000): Cannot add or update a child row: a foreign key constraint fails (`FATTURA`, CONSTRAINT `fattura_ibfk_1` FOREIGN KEY (`NUM_CONTO`, `BANCA`) REFERENCES `CONTOCORRENTE` (`NUM`, `BANCA`)) Una soluzione potrebbe essere quella di togliere il vincolo di foreign key, ma prima vorrei sapere se c'è qualche altro modo. Qualcuno mi sa aiutare? |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Sep 2005
Messaggi: 1400
|
ma esiste il record con valori "UNICREDIT" e "1235"?
![]() |
![]() |
![]() |
![]() |
#3 |
Senior Member
Iscritto dal: Oct 2005
Messaggi: 3306
|
Scusa ma così hai la tabella ContoCorrente completamente duplicata in Fattura.
Non ti conviene creare una chiave primaria Id in conto corrente e usare in fattura un solo campo IdContoCorrente? |
![]() |
![]() |
![]() |
#4 | ||
Senior Member
Iscritto dal: Jan 2004
Città: ROMA
Messaggi: 2055
|
Quote:
Quote:
Ora ci ragiono su.. |
||
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 12:47.