mysql 5

Salve a tutti.

Ho installato mysql 5 (in precedenza avevo la versione 4.1)

e ricevo un errore "Out of range value adjusted for column 'NOME' at row 1"

se eseguo un apdate con NOME='' dove NOME è di tipo int.

Leggendo un po (anche su questo sito) ho visto che la versione 5

applica + restrizioni sui tipi di dati delle tabelle.

Ora mi domando devo adeguare gli script?

o è possibile rendere compatibile la versione 5 con la 4.1 eliminando le restrizioni?

inviato 10 anni fa
nino
nino
1
X 0 X

L'errore che ricevi ti segnala che MySQL ha provveduto ad effettuare una modifica o un qualche tipo di cambiamento ai dati che gli hai passato, prima di inserirli nel database. Questo perché non erano adatti al tipo di dato specificato per la colonna.

Nulla dice su quale sia stata la modifica realmente effettuata, che pertanto ti consiglio di verificare personalmente per capire se devi "preoccuparti" o meno.

Comunque tieni presente che queste modifiche ai dati inseriti venivano già fatte dalle versioni precedenti di MySQL ma non erano segnalate. MySQL 5 si limita quindi a farti sapere che ha dovuto adattare il dato, niente di più.

 :bye:

risposto 10 anni fa
Gianni Tomasicchio
X 0 X

Ciao Gianni.

In effetti nella versione 4 assegnando NOME=''  mi ritrovavo 0

nella tabella essendo NOME di tipo int.

Col la versione 5 non è solo un warning il messaggio  che mi da

ma non mi esegue l'intero update.

Per farlo funzionare devo cambiarlo in NOME='0' 

 

risposto 10 anni fa
nino
nino
1
X 0 X

Allora significa che MySQL sta lavorando in una modalità piuttosto restrittiva

Per tutte le info su come cambiare modalità vedi qui:

http://dev.mysql.com/doc/refman/5.0/en/server-sql-mode.html

 :bye:

risposto 10 anni fa
Gianni Tomasicchio
X 0 X

Grazie Gianni

ho commentato la linea

#sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"

in my.ini e funziona come prima.

risposto 10 anni fa
nino
nino
1
X 0 X

ne avevamo discusso già in un'altro topic ... cmq io lo uso in modalità ristretta

risposto 10 anni fa
Andrea Turso
Andrea Turso
86
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda