linux user group brescia

immagine del castello

Archivio della mailing list

mysql, che bel pezzo di software (di m.....)!

marco ghidinelli marcogh a linux.it
Ven 4 Ago 2006 10:22:25 UTC
On Thu, Aug 03, 2006 at 05:56:09PM +0200, lbell a tsc4.com wrote:
> Da quello che mi ricordo di SQL le union vengono fatte tra campi compatibili tra
> loro in tipo e dimensione.
> Se i campi non coincidono, occorre risolvere la situazione in un modo o
> nell\'altro a discrezione del database. Per risolvere il problema in modo pulito
> occorre effettuare queries con campi dello stesso tipo nelle due select. Riporto
> un passo del manuale di MYSQL 5

il mio piu' che altro era un piccolo momento d'ira, dopo che mysql mi
ha fatto perdere del tempo (la query era abbastanza complessa e
riuscire a capire il motivo dell'errore non e' stato facile)

> <<If the data types of corresponding SELECT  columns do not match, the types and
> lengths of the columns in the UNION result take into account the values
> retrieved by all of the SELECT  statements. For example, consider the following:
> 
> mysql> SELECT REPEAT(\'a\',1) UNION SELECT REPEAT(\'b\',10);
> +---------------+
> | REPEAT(\'a\',1) |
> +---------------+
> | a             |
> | bbbbbbbbbb    |
> +---------------+
> 
> (In some earlier versions of MySQL, only the type and length from the first
> SELECT would have been used and the second row would have been truncated to a
> length of 1.)  >>

esatto, proprio lui. :)

comunque ho risolto passando alla versione 5 di mysql, che funziona
correttamente in questa situazione.

ciao!




Maggiori informazioni sulla lista Lug