IF object_id('player_data', 'U') IS NOT NULL
SELECT 'player_data exists' AS ''
ELSE
SELECT 'player_data does not exist' AS ''
我有一个名为versusarenadata的数据库,一旦设置,它将包含一个名为player_data的表以及其他表。我需要在启动时检查数据库是否已经配置,所以我试图使用这个代码块,这显然只是为了测试,检查我是否可以继续读取数据或者我需要进行初始设置。为什么我收到错误消息:
“#1064 - 您的SQL语法出错”?
答案 0 :(得分:1)
您可以查询information_schema.tables
以查看当前数据库中是否存在具有该名称的表,如下所示:
select (case
when count(*) = 0
then 'player_data does not exist'
else 'player_data exists'
end)
from information_schema.tables
where table_schema = database()
and table_name = 'player_data';
或者你可以尝试使用create table if not exists
创建表,如果表已经存在,它将不执行任何操作:
create table if not exists player_data
...
答案 1 :(得分:0)
我认为PRINT
不是sql关键字。如果要在结果中打印字符串,则需要进行如下查询:
SELECT 'player data exists' as ''