2014-10-20 34 views
0

我有以下错误:错误附近的语法时才“(”在SQL服务器

Msg 170, Level 15, State 1, Line 9 Line 9:
Incorrect syntax near '('.

我的SQL是:

USE [dbname] 
GO 

/****** Object: Table [dbo].[table_name] Script Date: 10/20/2014 16:41:41 ******/ 
SET ANSI_NULLS ON 
GO 

SET QUOTED_IDENTIFIER ON 
GO 

CREATE TABLE [dbo].[table_name] 
(
    [ID] [int] NOT NULL, 
    [sth] [nvarchar](200) NULL, 
    [list] [smallint] NULL, 

    CONSTRAINT [PK_table_name] 
     PRIMARY KEY CLUSTERED ([ID] ASC) 
      WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, 
       IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] 
) ON [PRIMARY] 
GO 

可惜我看不到任何错误而且剧本由SQL Server Management Studio生成(点击表 - >脚本表作为 - >创建为 - >新查询窗口),因为我想将表格设置为另一个表格。

查询中是否有错误,或者可能不足造成的特权(我没有记录为数据库所有者或系统管理员,我可以通过单击表目录上的“新表”来创建新表)。

编辑:

我使用SQL Server Management Studio中2008 R2和服务器是Microsoft SQL Server 2000中 - 8.00.2187。

EDIT2:

我试图执行由MS SQL Server Management Studio中2008 R2中的SQL Server 2000上据我了解生成的脚本。

+0

它适用于[SQL-Server 2012](http://sqlfiddle.com/#!6/3dc50/1/0)和[2008](http://sqlfiddle.com/#!3/ 3dc50/1/0)。 – 2014-10-20 14:59:39

+0

也适用于此... – Darka 2014-10-20 15:00:32

+3

确认您没有隐形字符,例如意外键入的Shift-Space将作品涂胶。复制粘贴来自此页面的代码以进行验证。 – 2014-10-20 15:01:25

回答

2

尝试

CREATE TABLE table_name 
(
    ID int NOT NULL, 
    sth nvarchar(200) NULL, 
    list smallint NULL, 

    CONSTRAINT PK_table_name PRIMARY KEY (ID) 
) 

这忽略所有特殊语法和特殊WITH选项(即都被赋予默认反正)。此语法被我熟悉的SQL Server的所有版本和版本所接受。如果这样做,你的问题是版本不匹配。如果这不起作用,那么你的问题可能完全是完全不同的。