ciao raga
mi si è presentato un problema, in una tabella stentente devo aggiungere un nuovo campo senza rifare tutta la tabella in quanto perderei i dati.
la tabella l'ho creata da codice
If $hconn.Tables.Exist("tipo") Then
Message.info("la tabella tipo esiste")
Else
If Message.Question("Creo la Tabella tipo?", "Si", "No") = 1 Then
sql = "CREATE TABLE tipo ("
sql &= "idtipo MEDIUMINT NOT NULL auto_increment,"
sql &= "cod VARCHAR(55) DEFAULT NULL,"
sql &= "gr double(9,2) DEFAULT 0,"
sql &= "titolo VARCHAR(9) DEFAULT NULL,"
sql &= "testo VARCHAR(255) DEFAULT NULL,"
sql &= "PRIMARY KEY(idtipo)"
sql &= ")ENGINE = InnoDB AUTO_INCREMENT = 0 DEFAULT CHARSET = latin1;"
hres = $hConn.EXEC(sql)
$hConn.Commit
Message.info("tabella tipo creata")
Endif
Endif
ora dovrei aggiungere un nuovo campo con nome sconto di tipo double, ma come detto sopra non dovrei ne modificare i campi esistenti ne cancellare i dati presenti nei campi.
ciao dex come butta? :2birre:
$hconn.EXEC("ALTER TABLE tipo ALTER COLUMN sconto TYPE double;")
e per aggiornarali
$hconn.EXEC("UPDATE tipo SET sconto = '0'")
dovrebbe andare..credo
fatto
il codice giusto è
$hconn.EXEC("ALTER TABLE tipo ADD COLUMN sconto DOUBLE DEFAULT 0 AFTER `testo;")
ora si presenta un altro problema, se il campo esiste dovrei fare un controllo con IF Then per evitare errori.
come si fà?
un modo può essere
if hres.Fields.Exist(nome colonna) = true then
un modo può essere
if hres.Fields.Exist(nome colonna) = true then
ciao
ho provato ma va in errore il quanto cerca in tutto il database.
come faccio a farlo cercare nella tabella tipo?
Codice 11 - Errore Unknown symbol 'Fields' in class 'Connection'