MySQL Проверьте, существует ли база данных - PullRequest
1 голос
/ 09 сентября 2010

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

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

Ответы [ 3 ]

4 голосов
/ 09 сентября 2010

Попробуйте:

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

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

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

CREATE DATABASE IF NOT EXISTS <name>;
0 голосов
/ 09 сентября 2010

Самый быстрый способ - выдать:

show databases;
0 голосов
/ 09 сентября 2010

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

show databases

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...