我有一个存储过程,该过程会将文件保存到filetable
表中:
DECLARE @table1 TABLE (id NVARCHAR(50))
INSERT INTO FileTable1(file_stream,name,path_locator) OUTPUT inserted.stream_id INTO @table1 VALUES(@File,@FName,@SubDirectoryPath)
问题是,某些时间存储过程引发了insert duplicate key
错误,我不知道为什么。
错误消息:
违反UNIQUE KEY约束``UQ__FileTabl__A236CBB318510CF4''。无法在对象“ dbo.FileTable1”中插入重复键。重复的键值为...
-----------------编辑---------------------
我知道Duplicate key
是什么意思,但是我想知道:stream-id
是否应该根据以下表结构自动插入sql server
?
CREATE TABLE [dbo].[FileTable1] AS FILETABLE ON [PRIMARY] FILESTREAM_ON [FSDataGroup]
WITH
(
FILETABLE_DIRECTORY = N'FileTable1', FILETABLE_COLLATE_FILENAME = Arabic_CI_AS
)
答案 0 :(得分:0)
能否请您检查表列上的UNIQUE KEY约束。看来您正在尝试将相同的值插入唯一键列。
您的列stream_id中有身份吗?