>salve a tutti,
Ciao! Benvenuto su DotNetHell!
>1) c'è un modo per rinominare il database (tipo: alter database <nomedb> rename <novomomedb>)?
RENAME DATABASE (obsoleto)
http://dev.mysql.com/doc/refman/5.1/en/rename-database.html
Il link ti spiega anche come usare ALTER DATABASE per risolvere il problema.
Leggi anche questo post
http://www.delphifaq.com/faq/databases/mysql/f574.shtml
>2) alter table miatb drop (colonna1,colonna2); oppure :alter table miatb drop colonna1,colonna2; non funziona.
>come faccioa a cancellare + campi in una volta sola visto che alter table miatb add (colonna1,colonna2); funziona per aggiungere
>+ campi in una sola volta?
Ad esempio:
ALTER TABLE t DROP COLUMN c, DROP COLUMN d;
da http://dev.mysql.com/doc/refman/5.0/en/alter-table.html
>3) per rinominare una colonna utilizzando alter table miatb change campo1 nuovonomecampo1 varchar(10) devo per forza ridare le specifiche
>del campo?
Sì, perchè in realtà non stai rinominando una colonna, ma alterando l'impostazione del campo per intero.
>4) alter table miatb drop primary key; non funziona se il campo primary key è auto_increment, perché?
>ho dovuto cambiare il campo non con auto_increment e poi è stato
>possibile eseguire il comando. non capisco soprattutto perchè
>ho provato poi a ritrasformalo in auto_increment ma non me lo
>riconverte più.
"Attempting to "ALTER TABLE ... DROP PRIMARY KEY" on a table when an AUTO_INCREMENT column exists in the key generates an error:
ERROR 1075 (42000): Incorrect table definition; there can be only one auto column and it must be defined as a key.
To make this work without erroring, drop and re-add the new primary key in a single statement, e.g.:
ALTER TABLE mytable DROP PRIMARY KEY, ADD PRIMARY KEY(col1,col2);"
>5)ad una tabella senza primary key ho provato ad aggiungere un
>constraint unique con: alter table miatb add unique (id); comando
>eseguito ma faccio desc miatb1 e il campo id compare come primary,
>come mai? sapevo che unique e primary key erano diversi,il primo
>ammette valori nulli, o sbaglio?
corretto, unique ammette valori null, primary no.
>poi ho provato a cancellare con alter table miatb drop unique (id); il comando mi da errore.
>Grande punto interrogativo.
Drop unique non esiste. devi fare drop dell'indice DROP INDEX.
>Grazie per la pazienza .
Di nulla!
Alx81 =)
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi
http://italy.mvps.org