2010-09-08 7 views
1

J'essaie de déterminer si une base de données d'un certain nom existe et puis de le créer si ce n'est pas le cas. Idéalement, ce serait dans VBScript. J'essaye actuellement d'employer une recherche de boucle d'un tableau mais le nombre total de bases de données changera considérablement.MySQL Vérifiez si une base de données existe

set dbQuery = ConnSQL.execute(checkDBsql) 
      if dbQuery.BOF and dbQuery.EOF then ' Query didn't return any records. 
       ConnSQL.execute(MakeDb) 
      else 
       dbQuery.MoveFirst 
       i = 0 
       Do While Not dbQuery.EOF 
        i = i + 1 
       loop 
      end if 
    set dbQuery = ConnSQL.execute(checkDBsql) 
      if dbQuery.BOF and dbQuery.EOF then ' Query didn't return any records. 
       msgBox "ERROR!" 
      else 
       e = 0 
       do while not dbQuery.EOF 
        DBName(e) = dbQuery("Database") 
        e = e + 1 
       loop     
       For a = 1 to UBound(DBName) 
        If DBName(a) = OldDBName Then 
         MsgBox DBName(a) 
        end if 
       Next 
    connSQL.close 

Répondre

4

Essayez:

SELECT SCHEMA_NAME FROM INFORMATION_SCHEMA.SCHEMATA WHERE SCHEMA_NAME = 'DBName' 

Vous obtiendrez un vide si ResultSet existe pas.

Si vous avez besoin de savoir si une base de données existe pour éviter une erreur en essayant de créer:

CREATE DATABASE IF NOT EXISTS <name>; 
+0

Les informations de schéma a donné une erreur, mais la Création de la base si existe ne fait pas partie est ce que je voulais faire . Je dois avoir raté ça. – MrGrant

0

si vous pouvez vous connecter au serveur dans un client de ligne de commande mysql

show databases 

vous montrera les bases de données MySQL.

0

La façon la plus rapide consiste à émettre:

show databases;