Dav*_*b60 12 sql t-sql sql-server sql-server-2005
我正在尝试在Microsoft SQL Server 2005(Express)上创建一个表.
当我运行此查询
USE [QSWeb]
GO
/****** Object: Table [dbo].[QSW_RFQ_Log] Script Date: 03/26/2010 08:30:29 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[QSW_RFQ_Log](
[RFQ_ID] [int] NOT NULL,
[Action_Time] [datetime] NOT NULL,
[Quote_ID] [int] NULL,
[UserName] [nvarchar](256) NOT NULL,
[Action] [int] NOT NULL,
[Parameter] [int] NULL,
[Note] [varchar](255) NULL,
CONSTRAINT [QSW_RFQ_Log] PRIMARY KEY CLUSTERED
(
[RFQ_ID] ASC,
[Action_Time] 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
Run Code Online (Sandbox Code Playgroud)
我收到此错误消息
消息2714,级别16,状态4,行2数据库中已存在名为"QSW_RFQ_Log"的对象.消息1750,级别16,状态0,行2无法创建约束.查看以前的错误.
但如果我尝试使用此查询找到有问题的对象:
SELECT *
FROM QSWEB.sys.all_objects
WHERE upper(name) like upper('QSW_RFQ_%')
Run Code Online (Sandbox Code Playgroud)
我懂了
(0行(s)受影响)
到底是怎么回事????
Jam*_*Ide 30
您正在尝试创建一个与约束相同的表(QSW_RFQ_Log).您的查询找不到对象,因为表创建失败,因此错误后对象不存在.为约束选择一个新名称,它将起作用,例如:
CONSTRAINT [QSW_RFQ_Log_PK] PRIMARY KEY CLUSTERED
Run Code Online (Sandbox Code Playgroud)
试试这个:
CONSTRAINT [PK_QSW_RFQ_Log] PRIMARY KEY CLUSTERED
add this ^^^
Run Code Online (Sandbox Code Playgroud)
您正在尝试添加与表名相同的主键,使PK具有不同的名称.