2010-09-08 3 views
1

Я пытаюсь определить, существует ли база данных определенного имени, а затем создать ее, если она отсутствует. В идеале это было бы в VBScript. В настоящее время я пытаюсь использовать цикл поиска массива, но общее количество баз данных сильно изменится.MySQL Проверьте, существует ли база данных

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 

ответ

4

Try:

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

Вы получите пустой результирующий если не существует.

Если вам нужно знать, существует ли база данных, чтобы избежать ошибки при попытке создать его:

CREATE DATABASE IF NOT EXISTS <name>; 
+0

Информация схема дала ошибку, но Создать базу данных, если не существует часть того, что я пытался сделать , Должно быть, я пропустил это. – MrGrant

0

, если вы можете подключиться к серверу в клиенте командной строки тузда

show databases 

покажет базы данных в MySQL.

0

Самый быстрый путь к вопросу:

show databases; 
Смежные вопросы