今天准备在 SQL Server 2014 中创建一张数据表,执行 SQL 时报错。
错误内容:[Err] 42000 - [SQL Server]关键字 'IF' 附近有语法错误。
于是检查了一遍 SQL,'drop table if exists' 没拼错,标点符号没错,也没发现有其他问题。
遂必应之——进微软官方文档一看,发现原来是版本的问题。
在 SQL Server 2016 (13.x) 及之后的版本中才支持 'if exists' 语法,其他版本是不支持的。
-- 报错的
DROP TABLE IF EXISTS TAB_T;
CREATE TABLE TAB_T (
ID int NOT NULL IDENTITY(1,1),
TS datetime NULL
)
-- 正确的(去掉'if exists'即可)
DROP TABLE TAB_T;
CREATE TABLE TAB_T (
ID int NOT NULL IDENTITY(1,1),
TS datetime NULL
)