2012-08-24 8 views
6

Non riesco a capire quale sia la query da eseguire per visualizzare il set di regole di confronto corrente per un database mysql.Query Mysql per scoprire le regole di confronto correnti del database predefinito (tramite client della riga di comando)

So che posso cambiare l'esecuzione di una query come questa:

ALTER DATABASE db_name 
[[DEFAULT] CHARACTER SET charset_name] 
[[DEFAULT] COLLATE collation_name] 

ma non voglio farlo senza conoscere il valore corrente.

Penso che sia effettivamente possibile perché in phpmyadmin è possibile vedere il valore corrente nella scheda operazioni del database, ma ho bisogno di farlo tramite il client della riga di comando e dopo aver cercato su google un po 'non ho trovato risposte.

Probabilmente aprirò il codice phpmyadmin per scoprirlo .. prima di farlo, qualcuno sa qual è la query corretta?

Grazie in anticipo.

risposta

13

Capito da solo, guardando il codice phpmyadmin.

A seconda della versione di MySQL, la query per eseguire è questo:

SELECT DEFAULT_COLLATION_NAME FROM data_dictionary.SCHEMAS WHERE SCHEMA_NAME = 'nameOfMyDb' LIMIT 1; 

o

SELECT DEFAULT_COLLATION_NAME FROM information_schema.SCHEMATA WHERE SCHEMA_NAME = 'nameOfMyDb' LIMIT 1; 
5
show variables like "%collat%" 
+0

Grazie, interessa ma penso che questi sono i valori di default della configurazione di MySQL, usata in modo predefinito quando crei un nuovo db (immagino). Cosa per un database specifico? – lucke84

Problemi correlati