caratteri | Tips & Tricks

Topic: Pubblico - Composto da 8 Posts di 4 Utenti.

01 Ottobre, 2010 13:08 #1
giac001
Utente

giac001
Registrato: Oct, 2010
Posts: 1
Offline

Sono alle prime armi e sto lavoorando con la Server version: 5.0.77. Devo creare database con all'interno del nome il carattere '-' es: db-test-001_001.
Il sistema risponde con:

mysql> create database db-test-001_001;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '-test-001_001' at line 1
mysql>

naturalmente il problema si pone anche per la creazione dello user etc etc.

grazie 1000 per aiuto

01 Ottobre, 2010 21:53 #2
g2d
Moderatore

g2d
Registrato: Jul, 2008
Posts: 957
Offline
Segui g2d su Twitter!

Ciao giac001,

benvenuto su MySQL Italia,

Beh hai sollevato un problema molto interessante, mi sono documentato tutta la serata ma non sono riuscito a venirne a capo.

Penso che non si possa fare, ovvero il - non può essere utilizzato nei nomi di uno schema.

In ogni caso continuo ad approfondire cerco di capirci di più, se ho notizie ti faccio sapere.

Grazie, complimenti per il bel problema e torna a trovarci

Saluti algweb


Un tempo ero algweb ora sono g2d

21 Ottobre, 2010 09:22 #3
bronz
Utente

bronz
Registrato: Oct, 2010
Posts: 3
Offline

Dopo avere creato il DB :

mysql> create database `pinco-pallo`;
Query OK, 1 row affected (0.00 sec)

Ecco come funziona :

mysql> grant select,insert,update,delete on `pinco-pallino`.* to `pinco-pallo`@'%' identified by 'qualcosa';
Query OK, 0 rows affected (0.00 sec)

e come NON funziona :

mysql> grant select,insert,update,delete on pinco-pallino2.* to `pinco-pallo`@'%' identified by 'qualcosa';
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '-pallino2.* to `pinco-pallo`@'%' identified by 'qualcosa'' at line 1

Luigi Montella Velluti - Saidmade Team

Ultima modifica 21 Ottobre, 2010 09:49 di bronz

21 Ottobre, 2010 18:00 #4
g2d
Moderatore

g2d
Registrato: Jul, 2008
Posts: 957
Offline
Segui g2d su Twitter!

Ciao bronz
Benvenuto su MySQL italia!

Devi semplicemente ricaricare i privilegi dopo la grant.

basta un

1FLUSH PRIVILEGES;

saluti algweb


Un tempo ero algweb ora sono g2d

21 Ottobre, 2010 21:54 #5
bronz
Utente

bronz
Registrato: Oct, 2010
Posts: 3
Offline

Ciao giac001,

intendevo solo mostrare la giusta sintassi per creare nomi di database con il carattere - .

Il flush privileges, ok , ma è un al'atra cosa.
Ciao,
Luigi MV

Ultima modifica 21 Ottobre, 2010 21:55 di bronz

22 Ottobre, 2010 14:59 #6
Sante Caserio
Moderatore

Sante Caserio
Registrato: Jul, 2008
Posts: 99
Offline

Mi sembra che la formattazione del forum abbia cambiato il carattere. Quella specie di apostrofo che bisogna usare per racchiudere i nomi dei db è il carattere ASCII 97.

22 Ottobre, 2010 15:17 #7
bronz
Utente

bronz
Registrato: Oct, 2010
Posts: 3
Offline

Ciao Sante,

Si il carattere è l'apostrofo al contrario ,lo stesso che si usa in SH o BASH per lanciare comandi "incapsulati" .
Solo che forse ti confondi, ASCII 97 è il carattere 'a' , l'apostrofo in questione è ASCII 96.

Ciao Luigi MV

22 Ottobre, 2010 15:23 #8
Sante Caserio
Moderatore

Sante Caserio
Registrato: Jul, 2008
Posts: 99
Offline

pardon!

Condividi su:

Loggati o Registrati per replicare