我建立了一个数据库A,里面已经通过如下建立了表T1:CREATE TABLE [dbo].[T1]( 
[Query] [varchar](50) NOT NULL, 
[Title] [varchar](max) NULL,
[Snippet] [varchar](max) NULL,
[LinkURL] [varchar](max) NULL,
[DisplayURL] [varchar](max) NULL,
CONSTRAINT [PK_Query] PRIMARY KEY CLUSTERED 
([Query]) 
WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY] 
) ON [PRIMARY]运行成功之后,我现在想创建一个表T2:
CREATE TABLE [dbo].[T2]( 
[Query] [varchar](50) NOT NULL, 
[Title] [varchar](max) NULL,
[Snippet] [varchar](max) NULL,
[LinkURL] [varchar](max) NULL,
[DisplayURL] [varchar](max) NULL,
CONSTRAINT [PK_Query] PRIMARY KEY CLUSTERED 
([Query]) 
WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
运行时候报错:
Msg 2714, Level 16, State 4, Line 13
There is already an object named 'PK_Query' in the database.
Msg 1750, Level 16, State 0, Line 13
Could not create constraint. See previous errors. 请问大虾们是怎么回事?难道我不能将两张无关联的表的主键设置成同一名称?
谢谢大家~~~~~~

解决方案 »

  1.   

    CONSTRAINT [PK_Query1] PRIMARY KEY CLUSTERED 这样就可以了
      

  2.   

    There is already an object named 'PK_Query' in the database.是同名了,名字改下
      

  3.   

    [varchar](max)?
    你这个MAX是啥值啊?自己定义的一个变量?
      

  4.   

    你的2个主键重名了 
    CONSTRAINT [PK_Query] PRIMARY KEY CLUSTERED CONSTRAINT [PK_Query] PRIMARY KEY CLUSTERED 一个[PK_Query] 改成别的就可以了
      

  5.   

    CREATE TABLE [dbo].[T1]( 
    [Query] [varchar](50) NOT NULL, 
    [Title] [varchar](max) NULL, 
    [Snippet] [varchar](max) NULL, 
    [LinkURL] [varchar](max) NULL, 
    [DisplayURL] [varchar](max) NULL, 
    CONSTRAINT [PK_Query] PRIMARY KEY CLUSTERED 
    ([Query]) 
    WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, 
    IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY] 
    ) ON [PRIMARY] 
    CREATE TABLE [dbo].[T2]( 
    [Query] [varchar](50) NOT NULL, 
    [Title] [varchar](max) NULL, 
    [Snippet] [varchar](max) NULL, 
    [LinkURL] [varchar](max) NULL, 
    [DisplayURL] [varchar](max) NULL, 
    CONSTRAINT [PK_Query1] PRIMARY KEY CLUSTERED 
    ([Query]) 
    WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, 
    IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) )
      

  6.   

    [Query] [varchar](50) PRIMARY KEY NOT NULL,
    你在创建表的时候,把定义主键的这个PRIMARY KEY放在这个字段后面就不会报错了。系统会自动创建主键名的