【发布时间】:2017-03-13 00:13:08
【问题描述】:
我有一个 T-SQL 查询,如果它尚不存在则创建数据库:
IF (NOT EXISTS (SELECT name
FROM master.dbo.sysdatabases
WHERE ('[' + 'DBName' + ']' = 'DBName'
OR name = 'DBName')))
BEGIN
CREATE DATABASE DBName
PRINT 'DATABASE_CREATED'
END
ELSE
PRINT 'DATABASE_EXIST'
当我想在 MySQL 中使用它时,我得到一个错误:
'IF' 在这个位置是无效输入
我把这个脚本改成
IF(SELECT COUNT(*) FROM SCHEMA_NAME
FROM INFORMATION_SCHEMA.SCHEMATA
WHERE SCHEMA_NAME = 'DBName') > 0)
THEN BEGIN
CREATE DATABASE DBName
PRINT 'DATABASE_CREATED'
ELSE
PRINT 'DATABASE_EXIST'`
但是还是不行
如何在 MySQL 中创建此查询?
【问题讨论】:
-
你为什么不使用像“CREATE DATABASE IF NOT EXISTS DBName;”这样的简单语句?看看这个例子 - forums.mysql.com/read.php?101,213455,213496
-
你也可以看到这个 SO 帖子 - stackoverflow.com/questions/838978/…
-
问题重新标记为 microsoft
sql-server -
@Drew 他们在询问如何在 MySQL 中做到这一点。
-
@MartinSmith 但是看看剩下的,
master.dbo.sysdatabases...我不知道他们在引用什么,除了软表先生
标签: mysql