MySQL检查数据库是否存在
问题描述:
我想确定某个特定名称的数据库是否存在,然后如果它没有创建它。理想情况下,这将在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
答
尝试:
SELECT SCHEMA_NAME FROM INFORMATION_SCHEMA.SCHEMATA WHERE SCHEMA_NAME = 'DBName'
如果不存在,你会得到一个空的结果集。
如果你需要知道,如果一个数据库存在试图创造它时避免的错误:
CREATE DATABASE IF NOT EXISTS <name>;
答
,如果你能在一个MySQL命令行客户端连接到服务器
show databases
会告诉你在MySQL数据库。
答
的最快方法是问题:
show databases;
模式给了一个错误,但该信息,如果不存在部分的创建数据库是什么,我要怎样做。我一定错过了。 – MrGrant 2010-09-08 22:45:20