在SQL Server 2008 R2,我有一個簡單的表有以下的列的定義:SQL Server的奇怪重複鍵錯誤
Id (PK ,int , not null)
MeterId (FK , int ,not null)
InstallDate(DateTime, not null)
Image(NVarCharMax, null)
Number (int , not null)
Comments(NVarChar(300), null)
而且Id
列設置爲Identity
。
當我運行:
insert into Transmitters (MeterId, Number, InstallDate)
values (952, 777 , '2013-02-21')
我得到的重複鍵錯誤。
沒有其他發送ID爲777,
有id爲952
這開始在我的數據庫超過1臺發生一米。
任何建議將是最appriceated。
整個表腳本是:你一直
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[Transmitters](
[Id] [int] IDENTITY(1,1) NOT NULL,
[MeterId] [int] NOT NULL,
[InstallDate] [datetime] NOT NULL,
[Image] [nvarchar](max) NULL,
[Number] [int] NOT NULL,
[Comments] [nvarchar](300) NULL,
CONSTRAINT [PK_Transmitters] 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
ALTER TABLE [dbo].[Transmitters] WITH CHECK ADD CONSTRAINT [FK_Transmitter_Meter] FOREIGN KEY([MeterId])
REFERENCES [dbo].[Meter] ([Id])
GO
ALTER TABLE [dbo].[Transmitters] CHECK CONSTRAINT [FK_Transmitter_Meter]
GO
是對FK自參照或你對FK唯一約束? – Kermit 2013-02-21 15:45:54
你可以編制整個表格,包括所有約束嗎?另外,插入此記錄時表格是否爲空?也許它已經填充並且身份正在挑選已經存在的號碼。 – Mayo 2013-02-21 15:47:15
FK提供另一張表格:米。我沒有任何限制。 – 2013-02-21 15:47:40