1

嗨,谁能告诉我如何检查表中是否存在主键,如果在 sql server compact(.sdf) 中不存在 exixts,则添加主键。

我正在使用这个,

  IF NOT EXISTS(SELECT * FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS WHERE CONSTRAINT_TYPE = 'PRIMARY KEY') 
   BEGIN 
       alter table [tablename] add constraint [name] PRIMARY KEY (columnname)
   END

当我在 sql server compact 中执行此操作时,我收到此错误..

主要错误 0x80040E14,次要错误 25501

IF NOT EXISTS(SELECT * FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS WHERE CONSTRAINT_TYPE = 'PRIMARY KEY') BEGIN alter table [tablename] add constraint [name] PRIMARY KEY (columnname) END 解析查询时出错。[令牌行号= 1,令牌行偏移量= 1,错误令牌= IF]

谢谢你..

4

1 回答 1

0
 IF NOT EXISTS(SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'PRIMARY KEY') AND type in (N'U') )
   BEGIN 
       alter table [tablename] add constraint [PRIMARY KEY] PRIMARY KEY CLUSTERED (columnname)
   END

请使用上面的查询,让我知道它是否有效。谢谢。

于 2015-06-04T10:34:10.237 回答