HELP su chiave primaria

di il
2 risposte

HELP su chiave primaria

Salve a tutti volevo chiedere e vedere di risolvere questo problema.
Io ho una tabella di nome Tratta/Aeroporto derivante da un associazione molti a molti con le rispettive tabelle Tratta ed Aeroporto. Ora questa tabella è cosi formata :

Id_tratta/aeroporto (pk)
id_Tratta (fk) Tabella tratta
IATA_Partenza (fk) Tabella Aeroporto
IATA_Arrvio (fk) 2 Relazione con tabella Aeroporto

Ora il problema e che andando ad Interrogare il database con la seguente query di base per prova:
select id_tratta/aeroporto FROM `tratta/aeroporto`;

Mi viene dato un errore, questo: Unknown column 'aeroporto' in 'field list'

come mai?????? Un altro problema che ho riscontrato e che se cambio il nome della primary key con la query :

ALTER TABLE `mydb`.`tratta/aeroporto` CHANGE COLUMN `id_Tratta/Aeroporto` `id_Tratta_Aeroporto` INT(11) NOT NULL AUTO_INCREMENT,
DROP PRIMARY KEY,
ADD PRIMARY KEY USING BTREE(`id_Tratta_Aeroporto`);

Mi viene dato un errore mysql 1025 error on rename of '.\mydb\#sql-724_13' to '.\mydb\#Tratta@002faeroporto' (errno:150) Ke vuol dire????

Grazie in anticipo

2 Risposte

  • Re: HELP su chiave primaria

    Ciao, riguardo il primo errore guarda qua:
    Database and table names cannot contain “/”, “\”, “.”, or characters that are not permitted in file names.
    Riguardo al secondo errore, invece, dovrebbe essere un errore relativo ad una foreign key.
    Prova a rinominare la colonna attraverso la seguente sintassi, magari funziona:
    ALTER TABLE tablename CHANGE column_oldname column_newname column_type;
    Se non funziona neanche così mi sa che ti tocca cancellare la foreign key, rinominare la colonna e reinserire la FK.
  • Re: HELP su chiave primaria

    Select id_tratta/aeroporto FROM `tratta/aeroporto`;

    significa: colonna id_tratta diviso colonna aeroporto

    L'altro problema è simile. Siccome non so le tue impostazioni, il modo più veloce di risolverlo è eliminare il carattere / da tutti i nomi delle tabelle e delle colonne.
Devi accedere o registrarti per scrivere nel forum
2 risposte