建表时总提示'(' 附近有语法错误。

语句是:

USE [ActiveDB]
GO
/****** Object: Table [dbo].[T_ACT_PK_INFO] Script Date: 07/16/2012 11:37:28 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
ALTER TABLE [dbo].[T_ACT_PK_INFO](
[F_ID] [int] primary key identity(1,1)NOT NULL,
[F_BlockName] [varchar](50) NOT NULL,
[F_CorpsName] [varchar](50) NOT NULL,
[F_CityName] [varchar](50) NOT NULL,
[F_Date] [datetime] NOT NULL,
[F_PositionID] [int] NOT NULL,
[F_PeriodsNum] [float] NOT NULL,
[F_Code] [int] NOT NULL
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO

alter 的语法不是这样的
你发的是create的语法

alter的语法
alter table [dbo].[T_ACT_PK_INFO]
alter column [F_BlockName] [varchar](50) NOT NULL
上面的语句是把列F_BlockName的类型改为 varchar,长度50

如果你是新建表
那直接吧把alter 改为 create就行了
如果在create的时候需要先判断是否已经存在
可以用
if object_id(表名) is not null
drop table 表名
create table 。。。。

如果已经存在就先删除,然后再创建追问

这个是在SQL 2008中的建表,第一步,建一个表,设定字段,但是F_ID要求是自增的,我改了之后,就出现这个错误,找了好久,也没有找出错误在哪,而且自增F_ID也没有实现,请你帮帮忙,谢谢了

温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-07-16
你这个alter是修改表,不是创建表,创建表要用create
第2个回答  2012-07-16
针对表用Create table(....)

修改、新增、删除列时用ALTER,前提是表已存在

楼主把ALTER改为Create就行了
第3个回答  2012-07-16
你直接把语句发出来追问

已经发出来了,请你帮忙看看