Elimina spazi in Mysql

martedì 12 settembre 2006 - 15.16

isotopo75 Profilo | Newbie

Ciao a tutti

ho un problemino con Mysql.

Ho esportato delle tabelle fatte in access direttamente in mysql tramite la funzione Esporta scegliendo collegamento odbc.

L'esportazione è avvenuta con successo.

Alcuni campi in access, però, sono scritti con lo spazio... tipo

Nome Utente
Cod Fiscale

ecc...

Quando lo importo in Mysql, nella tabella anagrafica mi appaiono gli stessi nomi dei campi, cioè

Nome Utente
Cod Fiscale

ecc..

Il problema è che Mysql non le gestisce... ossia se io scrivo

select Nome Utente from anagrafica

mi restituisce l'errore 'Unknown column Nome in field list' perchè Utente lo prende come opzione della select e non come nome del campo!

Non riesco neanche a fare Alter Table... mi da lo stesso problema!!

Qualcuno sa dirmi come eliminare lo spazio tra le parole Nome e Utente?

Grazie a tutti!!!!!!!!

Iso75

lbenaglia Profilo | Guru

>select Nome Utente from anagrafica
>
>mi restituisce l'errore 'Unknown column Nome in field list' perchè
>Utente lo prende come opzione della select e non come nome del
>campo!

Mi sembra giusto
Non conosco MySQL, ma lo standard ANSI SQL-92 prevede i brackets (ovvero le parentesi quadre []) per delimitare gli oggetti che non costituiscono un regular identifier.

La query diventerebbe:
SELECT [Nome Utente] FROM anagrafica

"Delimiting Result Set Column Names"
http://msdn.microsoft.com/library/en-us/acdata/ac_8_qd_04_46ur.asp

"Using Identifiers"
http://msdn.microsoft.com/library/en-us/acdata/ac_8_con_03_6e9e.asp

>Grazie a tutti!!!!!!!!
Prego.

Ciao!

--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org

isotopo75 Profilo | Newbie

ciao,

ho provato a mettere le parentesi quadre come descritto anche nei link che mi hai mandato... ma non ha funzionato

Mi restituisce un errore di sintassi proprio a causa delle parentesi quadre... ho provato anche con le tonde, ma niente

Grazie,

iso 75.

lbenaglia Profilo | Guru

>ho provato a mettere le parentesi quadre come descritto anche
>nei link che mi hai mandato... ma non ha funzionato
>
>Mi restituisce un errore di sintassi proprio a causa delle parentesi
>quadre... ho provato anche con le tonde, ma niente

Beh, in questi casi direi che una bella lettura al manuale non fa male, che dici?

"9.2. Database, Table, Index, Column, and Alias Names"
http://dev.mysql.com/doc/refman/5.0/en/legal-names.html

da cui leggo:
The identifier quote character is the backtick (‘`’):

mysql> SELECT * FROM `select` WHERE `select`.id > 100;

If the ANSI_QUOTES SQL mode is enabled, it is also allowable to quote identifiers within double quotes:

mysql> CREATE TABLE "test" (col INT);
ERROR 1064: You have an error in your SQL syntax. (...)
mysql> SET sql_mode='ANSI_QUOTES';
mysql> CREATE TABLE "test" (col INT);
Query OK, 0 rows affected (0.00 sec)

Quindi.....

--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org

isotopo75 Profilo | Newbie

Già... anche io l'avevo letto... e infatti funziona... solo che io da bravo pirla ho usato prima questo carattere ' e non ` maledetto me!!!

per questo non mi ha funzionato...

thanks very much!!!



ora è tutto ok.

Ciao

Iso 75

Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5