ciao a tutti,ho due tabelle soggetti e libri.in un campo, codice_libro_posseduto della tabella soggetti devo inserire una chiave esterna che punta al campo codicelibri della tabella libri.
qual'è la sintassi per l'istruzione FOREIGN KEY in sql?
ciao a tutti,ho due tabelle soggetti e libri.in un campo, codice_libro_posseduto della tabella soggetti devo inserire una chiave esterna che punta al campo codicelibri della tabella libri.
qual'è la sintassi per l'istruzione FOREIGN KEY in sql?
nel senso che farei così ma non funziona:
codice:ALTER TABLE soggetti ADD COLUMN 'codice_libro_posseduto' FOREIGN KEY ('codice_libro_posseduto') REFERENCES libri (codicelibri)
Come da manuale:
http://dev.mysql.com/doc/refman/5.0/...nstraints.html
InnoDB allows you to add a new foreign key constraint to a table by using ALTER TABLE:
ALTER TABLE tbl_name
ADD [CONSTRAINT [symbol]] FOREIGN KEY
[index_name] (index_col_name, ...)
REFERENCES tbl_name (index_col_name,...)
[ON DELETE reference_option]
[ON UPDATE reference_option]
si scusa pictor non mi è molto chiara l'istruzione sql FOREIGN KEY
che parametri deve ricevere,e perchè il codice scritto a monte del post è errato.
Prova con due query alter table e sopratutto senza mettere le apici ai nomi colonna.Originariamente inviato da moonba
si scusa pictor non mi è molto chiara l'istruzione sql FOREIGN KEY
che parametri deve ricevere,e perchè il codice scritto a monte del post è errato.
ALTER TABLE soggetti ADD COLUMN codice_libro_posseduto+caratteristiche della nuova colonna
ALTER TABLE soggetti ADD FOREIGN KEY (codice_libro_posseduto)
REFERENCES libri (codicelibri)
Il silenzio è spesso la cosa migliore. Pensa ... è gratis.
Scrivi l'errore che ti dà quando esegui la query almeno c'è qualche indizio.
se inserisco questo codice in phpmyadmin :
mi da quest'errore:codice:ALTER TABLE soggetti ADD FOREIGN KEY (codice_libro_posseduto) REFERENCES libri (codicelibri)
#1005 - Can't create table '.\provephp\#sql-aa8_42.frm' (errno: 150)