Indice del forum Olimpo Informatico
I Forum di Zeus News
Leggi la newsletter gratuita - Attiva il Menu compatto
 
 FAQFAQ   CercaCerca   Lista utentiLista utenti   GruppiGruppi   RegistratiRegistrati 
 ProfiloProfilo   Messaggi privatiMessaggi privati   Log inLog in 

    Newsletter RSS Facebook Twitter Contatti Ricerca
modificare nome di una colonna in sql
Nuovo argomento   Rispondi    Indice del forum -> Linguaggi per Internet
Precedente :: Successivo  
Autore Messaggio
moonba
Eroe
Eroe


Registrato: 08/05/07 09:59
Messaggi: 46

MessaggioInviato: 19 Dic 2008 13:54    Oggetto: modificare nome di una colonna in sql Rispondi citando

come faccio a modifica il nome del campo di una tabella in sql?
ad esempio qui voglio modificare il nome campo codice con il nome campo codicesoggetti..ma non funziona
Codice:

UPDATE soggetti SET codice = 'codicesoggetti' WHERE codice = 'codice'
Top
Profilo Invia messaggio privato
freemind
Supervisor sezione Programmazione
Supervisor sezione Programmazione


Registrato: 04/04/07 21:28
Messaggi: 4643
Residenza: Internet

MessaggioInviato: 19 Dic 2008 15:25    Oggetto: Rispondi citando

La query che hai scritto altera il valore del campo, non la sua definizione.
Per cambiare il nome di un attributo devi fare un alter table:
Codice:

ALTER TABLE `tabella` CHANGE `vecchio` `nuovo` INT(11) NOT NULL

La query di prima altera la tabella "tabella", cambiando il nome del campo `vecchio`in `nuovo` ridefinendolo come INT(11) NOT NULL.
Tu dovrai fare qualche cosa del tipo:
Codice:

ALTER TABLE `soggetti`CHANGE `codice` `codesoggetti` // qui la definizione del tipo
Top
Profilo Invia messaggio privato
moonba
Eroe
Eroe


Registrato: 08/05/07 09:59
Messaggi: 46

MessaggioInviato: 19 Dic 2008 16:23    Oggetto: grazie Rispondi citando

ti chiedo un ulteriore cosa ho due tabelle una soggetti e l'altra libri.
devo creare un campo nella tabella soggetti chiamato codice_libro_posseduto a cui devo attribuire una chiave esterna che punta al campo codice libro e che mi permette di stabilire una relazione tra le due tabelle.
devo fare un'alter table e applicare foreign key al campo_codice_libro ma non so la sintassi corretta in sql
Top
Profilo Invia messaggio privato
moonba
Eroe
Eroe


Registrato: 08/05/07 09:59
Messaggi: 46

MessaggioInviato: 19 Dic 2008 16:57    Oggetto: Rispondi citando

Codice:

ALTER TABLE soggetti ADD COLUMN codice_libro_posseduto
FOREIGN KEY('codice_libro_posseduto')REFERENCES libri('codicelibri')


in questo modo mi da errore di sintassi
Top
Profilo Invia messaggio privato
freemind
Supervisor sezione Programmazione
Supervisor sezione Programmazione


Registrato: 04/04/07 21:28
Messaggi: 4643
Residenza: Internet

MessaggioInviato: 21 Dic 2008 19:49    Oggetto: Rispondi

Ciao,
per aggiungere una foreign key usa la sintassi:
Codice:

ALTER TABLE `soggetti`
  ADD CONSTRAINT `FK` FOREIGN KEY (`codice_libro_posseduto`) REFERENCES `libri` (`codice`) ON UPDATE CASCADE;

Ricorda che la le colonne su cui vuoi mettere la fk devono essere indici e le tabelle innoDB (io ipotizzo mysql come rdbms).
Top
Profilo Invia messaggio privato
Mostra prima i messaggi di:   
Nuovo argomento   Rispondi    Indice del forum -> Linguaggi per Internet Tutti i fusi orari sono GMT + 2 ore
Pagina 1 di 1

 
Vai a:  
Non puoi inserire nuovi argomenti
Non puoi rispondere a nessun argomento
Non puoi modificare i tuoi messaggi
Non puoi cancellare i tuoi messaggi
Non puoi votare nei sondaggi