Ciao,
Sto cercando di creare un DB da terminale ma sono arrivato al punto di inserire le chiavi esterne.. mi da sempre errore. Vi posto quello che digito insieme all'errore:
mysql> CREATE TABLE dati_aziendali ( -> id_dati_az int (3) auto_increment, -> data_assunzione date, -> inizio_affincamento date, -> fine affiancamento date, -> tutor varchar (35), -> id_mans int (3), -> id_comp int (3), -> id_contrat int (3), -> id_dati_an int (3), -> FOREIGN KEY (id_mans) REFERENCES mansione (id_mans), -> FOREIGN KEY (id_comp) REFERENCES liv_competenza (id_comp), -> FOREIGN KEY (id_contrat) REFERENCES tipo_contratto (id_contrat), -> FOREIGN KEY (id_dati_an) REFERENCES dati_anagrafici (id_dati_an), -> PRIMARY KEY (id_dati_az) -> ); ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'affiancamento date, tutor varchar (35), id_mans int (3), id_comp int (3), id_con' at line 5 mysql>
Io comincerei con ingrandire i campi int che usi per le chiavi e passerei da int(3) a int(10).
Poi proverei anche a creare la tabella senza i foregn key : se non ci sono errori risulta evidente che il problema sono le foreign key (vado a memoria - le foreign keys mi sembra che le puoi gestire solo con InnoDb e non con MyIsam - ma potrei anche ricordarmi male -> leggi il manuale di MySql).
Se non lo hai ancora fatto, scaricati il workbench di mysql così puoi lavorare in ambiente grafico .....
A volte sono presente anche in altri forum di programmazione ....