MySQL + inserimento FOREIGN KEY

Linguaggi di programmazione: php, perl, python, C, bash e tutti gli altri.
Avatar utente
leone
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 344
Iscrizione: lunedì 2 aprile 2007, 13:07

MySQL + inserimento FOREIGN KEY

Messaggio da leone »

Salve a tutti vado a spiegare il problema:

1) Ho una tabella "libro" con chiave primaria "EAN"
2)Ho una tabella "autore" con chiave primaria "ID"

Un autore può scrivere più libri , al contempo un libro può
essere scritto da  più autori.

Pertanto ho deciso di inserire una tabella ponte chiamata:
scrivere(EAN_libro,ID_autore) con la tupla intera chiave primaria.

Però EAN_libro e ID_autore sono anche foreign key.

Supponiamo per ora di voler settare come foreign key solamente EAN_libro.
Qui di seguito riporto il codice che scrivo;

Codice: Seleziona tutto

     ALTER TABLE scrivere ADD CONSTRAINT fk_libro
     FOREIGN KEY (EAN_libro)
     REFERENCES libro(EAN)
     ON UPDATE CASCADE
     ON DELETE CASCADE;
ma purtroppo la risposta è la seguente:

Codice: Seleziona tutto

ERROR 1005 (HY000): Can't create table './biblos/#sql-1497_a.frm' (errno: 150)
Qualcuno ha idea di cosa possa fare? Ho controllato sul manuale di riferimento on line di MySQL
e la sintassi mi sembra giusta.

Un'altra piccola domandina: SQL è case sensitive?
Avatar utente
Piter85
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 306
Iscrizione: lunedì 26 novembre 2007, 16:20

Re: MySQL + inserimento FOREIGN KEY

Messaggio da Piter85 »

mysql nn è case sensitive
... il Sole splende ancora !!!
Avatar utente
garak
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1649
Iscrizione: lunedì 13 giugno 2005, 13:37
Desktop: Gnome
Distribuzione: Ubuntu 24.04
Sesso: Maschile
Località: Roma
Contatti:

Re: MySQL + inserimento FOREIGN KEY

Messaggio da garak »

Ma perché scrivere codice mysql a mano? Prova ad usare phpmyadmin.
Scrivi risposta

Ritorna a “Programmazione”

Chi c’è in linea

Visualizzano questa sezione: 0 utenti iscritti e 2 ospiti