Precedente :: Successivo |
Autore |
Messaggio |
moonba Eroe

Registrato: 08/05/07 09:59 Messaggi: 46
|
Inviato: 19 Dic 2008 13:54 Oggetto: modificare nome di una colonna in sql |
|
|
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 |
|
 |
freemind Supervisor sezione Programmazione


Registrato: 04/04/07 21:28 Messaggi: 4643 Residenza: Internet
|
Inviato: 19 Dic 2008 15:25 Oggetto: |
|
|
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 |
|
 |
moonba Eroe

Registrato: 08/05/07 09:59 Messaggi: 46
|
Inviato: 19 Dic 2008 16:23 Oggetto: grazie |
|
|
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 |
|
 |
moonba Eroe

Registrato: 08/05/07 09:59 Messaggi: 46
|
Inviato: 19 Dic 2008 16:57 Oggetto: |
|
|
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 |
|
 |
freemind Supervisor sezione Programmazione


Registrato: 04/04/07 21:28 Messaggi: 4643 Residenza: Internet
|
Inviato: 21 Dic 2008 19:49 Oggetto: |
|
|
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 |
|
 |
|